목록전체 글 (139)
배고픈 개발자 이야기
규칙이 귀찮지만 어렵진 않음 def solution(dartResult): i, idx, length = 0, 0, len(dartResult) score = [] while idx < length: temp_score = 0 if dartResult[idx+1] == "0" and dartResult[idx] =="1": temp_score = 10 idx += 1 else: temp_score = int(dartResult[idx]) if dartResult[idx+1] == "S": temp_score = int(temp_score) ** 1 if dartResult[idx+1] == "D": temp_score = int(temp_score) ** 2 if dartResult[idx+1] == "..
이진수 변환 및 합치는 문제 쉬움 def solution(n, arr1, arr2): answer = [] for i in range(n): temp = [" "]*n num1, num2 = arr1[i], arr2[i] for j in range(n): a1, a2 = int(num1 / 2), int(num2 / 2) b1, b2 = int(num1 % 2), int(num2 % 2) if b1 or b2: temp[n-j-1] = "#" num1, num2 = a1, a2 # if a != 0: # num = a # else: # break answer.append(''.join(map(str, temp))) return answer
귀찮 나중에 def solution(N, stages): answer = [] temp = dict() stage_len = len(stages) count_sum = 0 for num in range(1, N + 1): num_cnt = 0 if stage_len - count_sum > 0: num_cnt = stages.count(num) failed = num_cnt / (stage_len - count_sum) #[stages.remove(num) for _ in range(num_cnt)] else: failed = .0 temp[num] = failed count_sum += num_cnt #def f2(x): # return x[1] #sorted_failed = sorted(temp.it..
이 문제는 주어진 숫자열 중 3가지 숫자의 합을, 그 숫자가 소수(prime number)인지 판별하는 문제로 2가지 로직만 완성하면 된다. 1. 3가지 숫자를 뽑는 경우의 수를 구현하는것 경우의 수는 아래의 링크를 참조하여 순서는 상관없을 때 중복을 허용하지 않는 경우의 수를 구했다. https://wikidocs.net/23278 위키독스 온라인 책을 제작 공유하는 플랫폼 서비스 wikidocs.net 2. prime number를 효과적으로 판별하는 방법 1. 2부터 순차적으로 전체 숫자를 구하는 방법 2. 2부터 중간값까지 구하는 방법 3. 2부터 최대공약수 root(prime number)까지 구하는 방법 중 3번으로 풀었다. from itertools import combinations def..
왼손 엄지와 오른손 엄지로 입력된 번호를 어떻게 누르는지 문자열로 반환하는 문제이다. 각 키패드별로 좌표를 생성하고, 초기값을 선언한다. 그리고 규칙에 맞게 왼쪽 버튼은 왼손, 오른손 버튼일때는 오른손으로 입력을 하며 가운데 번호일때만 거리를 구하여 어떤손으로 누를지 정한다, 거리가 같으면 어느손잡이냐에 따라 정하면 끝이다. def distance(coord_1, coord_2): return abs(coord_1[0]-coord_2[0]) + abs(coord_1[1]-coord_2[1]) def solution(numbers, hand): answer = '' num_coord = { '1' : [0, 3], '2' : [1, 3], '3' : [2, 3], '4' : [0, 2], '5' : [1,..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bi7oZH/btraptyJVAX/ajAUINrgdwJfucBkiWwrm0/img.png)
- 명령어(설치 / 실행 / 삭제 / 정지) # 태그가 없으면 최신버전 다운로드 docker pull ubuntu # 특정 버전 다운로드 docker pull ubuntu:18.04 # docker image 목록을 보여주는 명령어 docker images docker image ls # docker image ID목록을 보여주는 명령어 docker images -q docker image ls -q # docker image 삭제 명령어 docker rmi [이미지ID or Repository 이름] docker image rm [이미지ID or Repository 이름] - Docker run 옵션 - Docker 실행 docker pull ubuntu:18.04 # 터머널에 stdin이 가능한 de..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/c8l2MB/btral6wCVzz/A66TkZuJDXuENwPNwCoNm1/img.png)
- 하드링크와 심벌릭링크 - 심벌릭링크 - - 하드링크와 심벌릭링크의 차이점 1. 파일명 뒤에 원본 파일명이 표시된다 ex) ->data1 2. 심벌릭 링크 파일의 내용은 원본 파일의 경로 3. 원본파일이 삭제되면 심벌릭 링크로 연결할 수 없다. - 파일 시간 변경하기 # 12월 31일 12시 00분으로 변경 touch -t 12311200 test - 파일 권한 변경 # test.txt 파일의 소유자에게 쓰기권한 뺏기 chmod u-w test.txt # 읽기 전용으로 만들기 -r--r--r-- chmod 444 test.txt - 기본 접근 권한 - 리눅스에서는 파일/디렉토리 생성 시 기본 접근권한이 자동적으로 생성 - 일반적으로 파일은 u+rw, g+r, o+r 로 권한설정 - 디렉토리는 u+rwx..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/3H4FC/btraet6CjHG/47udN1ybCwFrgJFB3ZTWJ1/img.png)
- 실습환경 구축 1. AWS에 ec2 인스턴스를 새로 생성한다. 인스턴스는 사용하지 않을시 종료/중지 해야한다 (무료 평가판은 ec2 720시간 제한이 있다고한다) 2. Ubuntu18.04 버전으로 생성 (Window에 비해 성능이 30% up) 3. new 키페어 or 기존 키페어 선택 new 키페어일 경우, 한번만 다운 받을 수 있으며, 추후 재사용하므로 잘 저장해 두자 4. AWS 접속 프로그램 putty 설치 putty gen 을 통해 다운받은 키페어(gem)을 -> ppk로 저장한다. ps) putty 접속시 connection error가 발생했었는데 putty connection 탭의 Bypass authentication entirely를 체크해서 발생한 에러였다. (unchecked로..