Loading...

[프로그래머스] 기지국 설치 (파이썬)

예시 1 2 3 4 5 6 7 8 9 10 11 cur (설치할 기지국 위치는 1에서 시작) w가 1인 경우 다음 기지국 설치 위치를 cur+2*w+1 하는 이유는 cur는 1을 기준으로 해도 사실상 2에 설치해서 1(기준 위치)~2(실제 설치 위치)~3을 커버하는 거라고 보면 된다 즉 기준위치는 cur인 1이지만 실제 설치 위치는 2인 것이고 cur+2*w+1이 다음 새로 설치 가능한지 보는 이유이다. cur(기준 위치)가 stations[idx]-w (기존 기지국이 닿는 범위)보다 작아야 기존 기지국 위치와 겹치지 않는다. 겹친 다면 기지국이 닿는 오른쪽 전파범위 (stations[idx]+w)+1인 위치를 다음 기준 위치(cur)로 잡는다. def solution(n, stations, w): an..

[프로그래머스] 쿼드 압축 후 개수 세기

for 문이나 재귀로 돌면서 길이를 반으로 줄여가며 전수 검사한다 def solution(arr): answer = [0,0] n=len(arr) def go(x,y,l): cur=arr[x][y] for i in range(x,x+l): for j in range(y,y+l): if arr[i][j]!=cur: # 다르면 길이 짧게한다 ll=l//2 go(x,y+ll,ll) # 다음 시작점 go(x+ll,y,ll) go(x,y,ll) go(x+ll,y+ll,ll) return answer[cur]+=1 # 해당 범위 내 수가 다 같으면 해당 원소의 개수를 더해주면 된다 go(0,0,n) return answer

[프로그래머스] 이진 변환 반복하기 (python)

1의 개수만큼 계속 문자열이 '1'이 될 때까지 이진 변환을 해준다. n은 이진 변환한 횟수, c는 삭제한 0의 개수이다. 0의 개수는 계속 더해주며 1의 개수만큼 이진변환을 해준다. def solution(s): n=0 c=0 while s!='1': c+=s.count('0') s=str(bin(len(s)-s.count('0'))[2:]) n+=1 return [n,c]

[프로그래머스] 내적 (파이썬 ,python, javascript)

1. 파이썬 풀이 각 위치의 수를 곱한 뒤 더하기 def solution(a, b): answer = 0 for x,y in zip(a,b): answer+=x*y return answer 2. 자바스크립트 풀이 function solution(a, b) { return a.reduce((acc,cur,idx)=>{ return acc+cur*b[idx]; },0) }

[프로그래머스] 3진법 뒤집기

현재 숫자를 3진법으로 만든 뒤 뒤집어서 다시 10진법으로 변환한다 def solution(n): answer = 0 convert='' while n: a,b=divmod(n,3)//몫, 나머지 convert=str(b)+convert // 새로운 나머지수가 더 먼저 와야된다 (나눠보면서 이해) n=a // 새로운 몫 return int(convert[::-1],3) //3진법을 10진법으로 변환하는 방법

[프로그래머스] 두 개 뽑아서 더하기 (python, javascript)

1. 파이썬 풀이 중복없이 저장하기 위해 dictionary를 썼다 def solution(numbers): dict={} for i,n in enumerate(numbers): for j,m in enumerate(numbers): if i==j: continue dict[n+m]=n+m return sorted(dict.values()) sorted는 새로운 배열을 반환한다 2. javascript 풀이 function solution(numbers) { var answer = []; for(let i=0;i

2020. 12. 12. 20:41

[초보 마인크래프트] 산림대저택, 광산까지 레일 만들기

주말이라(?) 놀고 싶어서 낮부터 마크를 켰다 ​ 삼림 대저택 3층을 털었는데 소환사가 천사처럼 생긴 벡스를 소환해서 아비규환이었던 거 빼고는 ​ 정말 아.무.것.도 없어서 실망해버림ㅠ ​ ​ 지도 밝히려 돌아다니다가 삼림대저택을 발견한 알라 열심히 맵을 밝히던 알라가 저택을 발견했다고 해서 흥분해서 들어왔었던 저택 털기전 ​ 이때만해도 모험심으로 두근두근했었다구.. ​ 1, 2층만 털었을 때 각 층마다 한 번씩 죽어서 3층 털때는 재정비하고 갔다 ​ 멀리서 공격할 수 있는 화살이 최고라 화살을 만들기 위해 닭 대량 재배 중.. ​ 밀 씨앗을 들면 저렇게 옹기종기 모인다 알라시점 ㅋㅋㅋ ​ 닭한테는 미안하지만 모여있을 때 칼로 치면 한 번해 해치우는데 쾌감든다 (-_- 미안) ​ 마찬가지로 내가 매일 애..

[Javascript Concept] typeof null===object 에 대한 고찰

javascript의 원시 타입이 뭐뭐 있었지? 하고 생각하다가 null을 보고 문득 생각이 들었다 null은 원시타입에 속하는데 왜 typeof null은 object이지? 만약 javscript의 타입을 모르는 사람이 있다면 javscript의 원시타입은 number, string, null, undefined, symbol, boolean 등이 있고 참조 타입에는 object, function, array 등이 있다. 두 타입의 차이점은 예전에 정리한 글이 있다(타입 별로 정리한 줄 알았더니 복사 얘기로 썼었네.. 한참 찾았다) 2020/10/27 - [자바스크립트_개념편] - [javascript] 얕은 복사 (참조 복사), 깊은 복사(값 복사) 찾아보니 typeof null의 결과가 object..

기존 React 프로젝트에 typescript 도입하기

새로 만드는 react 프로젝트를 타입스크립트 기반으로 만들거라면 npx create-react-app my-app --template typescript 를 치면 되고 기존의 javascript 기반 react 프로젝트에 타입스크립트를 적용할 거라면 yarn add typescript @types/node @types/react @types/react-dom @types/jest 이렇게 라이브러리들을 깔아주세요 @types가 앞에 붙으면 타입스크립트가 지원되는 라이브러리 입니다. 아마 새로 프로젝트를 생성하는 경우는 큰 문제가 없는데 저는 기존의 프로젝트에 적용했더니 바로 사용이 안되더라구요 1. 일단 jsconfig.js 파일이 있다면 지워주세요 2. yarn install (혹은 npm instal..

[Javascript] 자바스크립트 역사, 배경

예전에 노션에 정리했던게 있는데 다시 읽어보니 괜찮아서 옮겨적었습니다. 추후 다시 정리하고 내용 추가할게요 95년 90퍼 시장 점유율로 웹 브라우저 시장을 지배하던 넷스케이프 커뮤니케이션즈가 정적인 html을 동적으로 표현하기 위해 경량의 프로그래밍 언어를 도입하기로 결정 브랜던 아이크가 개발 넷스케이프의 웹 브라우저인 netscape navigator 2에 탑재되었고 mocha 로 명명된 후 livescript로 최종적으로 javascript로 명명됨 자바스크립트 탄생한 후 얼마지나지 않아 파생 버전인 JScript 가 출시되어 위기를 맞음 (javascript와 jscript가 독자적으로 각자의 브라우저에 다르게 개발되면서 브라우저에 따라 구현을 다르게 해야 되는 등 개발자들을 힘들게 했던 브라우저 ..