728x90

알고리즘/프로그래머스 레벨 0 - python 48

Day10 - 2) 2차원으로 만들기

설명 제한사항 입출력 예시 예시 설명 문제 풀이 1. 배열의 배열을 넣는 2차원 배열로 만들기 입니다. 반복문의 반복횟수는 2차원 배열로 만들고 싶은 행의 개수를 통해서 정해지기 때문에 나누기를 했습니다. insert()를 사용해서 원하는 행에 원하는 원소의 수만큼 슬라이싱을 해서 배열에 넣었습니다. def solution(num_list, n): print(num_list) answer = [] for i in range(len(num_list)//n): answer.insert(i, num_list[i*n:n*i+n]) return answer 2. append()로도 배열에 들어감 def solution(num_list, n): print(num_list) answer = [] for i in ra..

Day10 - 1) 점의 위치 구하기

설명 제한사항 입출력 예시 예시 설명 문제 풀이 1. 리스트로 입력받은 x, y를 나눠서 음수와 양수 구분을 해서 사분면 중 어디에 속하는 지를 구했습니다. 음수와 양수를 구분하는 방법으로 절댓값을 구하는 abs()를 사용해서 음수면 -1, 양수면 1을 변수에 저장해서 4분위를 구했습니다. def solution(dot): answer = 0 if dot[0] == -(abs(dot[0])): i = -1 else: i=1 if dot[1] == -(abs(dot[1])): j=-1 else: j=1 print(i,j) if i== 1 and j ==1: answer = 1 elif i== -1 and j ==1: answer=2 elif i== -1 and j ==-1: answer=3 elif i==..

Day9 - 2) 모스부호(1)

설명 제한사항 입출력 예시 예시 설명 문제 풀이 1. 먼저 편지로 받은 모스부호들을 띄어쓰기 기준으로 나눴습니다. 모스부호 딕셔너리에 있는 값들과 비교해서 대응되는 알파벳이 있으면 answer 문자열에 추가 했습니다. def solution(letter): morse = { '.-':'a','-...':'b','-.-.':'c','-..':'d','.':'e','..-.':'f', '--.':'g','....':'h','..':'i','.---':'j','-.-':'k','.-..':'l', '--':'m','-.':'n','---':'o','.--.':'p','--.-':'q','.-.':'r', '...':'s','-':'t','..-':'u','...-':'v','.--':'w','-..-':'x'..

Day9 - 1) 개미군단

설명 제한사항 입출력 예시 예시 설명 문제 풀이 1. 장군개미, 병정개미, 일개미 숫자를 구하기 위해서 5,3,1로 나누기와 나머지 연산을 했습니다. 나누기 - 몫만 구했기 때문에 뺄셈할때 총합에서 앞의 개미들의 숫자를 곱해서 빼기를 했습니다. => 2번은 1번을 개선한 형태입니다. def solution(hp): answer = 0 h1 =hp//5 h2=(hp-h1*5)//3 h3=(hp-h1*5-h2*3)//1 answer = h1+h2+h3 return answer 2. 장군개미, 병정개미, 일개미의 숫자로 나누기를 해서 개미들의 숫자를 구하고, 나머지 연산을 통해서 사냥감의 남은 체력을 구할 수 있도록 개선 했습니다. def solution(hp): answer = 0 h1 =hp//5 hp =..

Day8 - 3) 진료순서 정하기

설명 제한사항 입출력 예시 예시 설명 문제 풀이 1. 응급도와 응급도의 크기의 순서에 따라 정렬한 리스트를 비교해서 두 수가 같을때 정렬된 리스트의 위치 인덱스에 더하기 1 => 정렬된 배열의 인덱스+1을 했습니다. def solution(emergency): answer = [] emergency2 = emergency.copy() emergency.sort(reverse=True) for i in range(len(emergency)): for j in range(len(emergency)): if emergency2[i] == emergency[j]: j+=1 answer.append(j) return answer 문제를 풀면서 느낀점

728x90