본문 바로가기

전체 글37

비밀지도_파이썬 def solution(n, arr1, arr2): answer = [] map = [['#' for i in range(n)] for j in range(n)] temp1 = arr1 temp2 = arr2 for i in range(n): for j in range(n): if (temp1[i] % 2 == 0 ) and (temp2[i]%2==0): map[i][-1-j] = ' ' temp1[i] = temp1[i] // 2 temp2[i] = temp2[i] // 2 m = '' for j in range(n): m += map[i][j] answer.append(m) return answer 내가 푼 코드 이진법을 처리하는 함수를 몰라서 직접 해결. def solution(n, arr1, ar.. 2020. 12. 24.
x만큼 간격이 있는 n개의 숫자_파이썬 def solution(x, n): return [x*i for i in range(1,n+1)] 2020. 12. 24.
프로그래머스_행렬의덧셈_파이썬 def solution(arr1, arr2): for i in range(len(arr2)): for j in range(len(arr2[0])): arr1[i][j] += arr2[i][j] return arr1 처음에 풀었을때 위에처럼 풀었음. def solution(arr1, arr2): return [[arr1[i][j] + arr2[i][j] for j in range(len(arr2[0]))] for i in range(len(arr2))] 파이썬 답게 한줄로 요약? 했을때 def solution(arr1, arr2): return [[ v1+v2 for v1,v2 in zip(a1,a2)] for a1,a2 in zip(arr1,arr2)] 다른사람의 풀이에서 내장함수 zip을 이용한걸 보고.. 2020. 12. 23.
프로그래머스_핸드폰 번호 가리기_파이썬 def solution(phone_number): answer = [(phone_number[i]) for i in range(len(phone_number))] for i in range(0,len(phone_number)-4): answer[i] = "*" result='' for i in range(len(phone_number)): result += answer[i] return result 아주 비효율적인 코드.. 아래는 다른 사람의 풀이를 참고했을때 def solution(phone_number): return "*"*(len(phone_number)-4) + phone_number[-4:]​ 문자열을 좀더 이해할 필요가 있을듯 2020. 12. 23.
프로그래머스_하샤드수_파이썬 def solution(n): digit_sum = 0 temp=n while temp: digit_sum += temp%10 temp //= 10 print(temp) return n % digit_sum == 0 str을 이용해서 간단하게 풀수있지만 요런식으로도 풀수있다. 2020. 12. 22.
[카카오 인턴]키패드_누르기_파이썬 def solution(numbers, hand): pad_id = {1:[0,0],2:[0,1],3:[0,2], 4:[1,0],5:[1,1],6:[1,2], 7:[2,0],8:[2,1],9:[2,2], 0:[3,1]} L_location = [3,0] R_location = [3,2] result = [] while(numbers != []): if numbers[0] == 1 or numbers[0] == 4 or numbers[0] == 7: result.append('L') L_location = pad_id[numbers[0]] del numbers[0] elif numbers[0] == 3 or numbers[0] == 6 or numbers[0] == 9: result.append('R') .. 2020. 12. 18.
다리를 지나는 트럭_ 파이썬 def solution(bridge_length, weight, truck_weights): answer = 0 while(len(truck_weights)>0): check = 0 pass_num = 0 for i in range(len(truck_weights)): pass_num += 1 check += truck_weights[i] if check > weight: pass_num -= 1 break for i in range(pass_num): del truck_weights[0] answer += bridge_length + pass_num - 1 return answer+1 위에 코드는 처음 시도했던 코드. 주어진 테스트 케이스는 모두 통과하였으나 채점에서 와장창 틀림. 위에 코드는 한번에 .. 2020. 12. 15.
[프로그래머스]주식가격 def solution(prices): answer = [] for i in range(len(prices)-1): sum = 0 for j in range(i+1,len(prices)): if prices[i] 2020. 12. 10.
[프로그래머스]멀쩡한사각형_python leedakyeong.tistory.com/entry/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-%EB%A9%80%EC%A9%A1%ED%95%9C-%EC%82%AC%EA%B0%81%ED%98%95-in-python [프로그래머스] 멀쩡한 사각형 in python 파이썬으로 프로그래머스 풀기 :: 멀쩡한 사각형 문제 설명 가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며 leedakyeong.tistory.com 설명이 매우 깔끔. 꽤 재밌는 아이큐 테스트로 나올법한 문제였다. 2020. 12. 9.