Python(62)
-
프로그래머스 [숫자 문자열과 영단어]
풀이 replace()를 사용하면 간단한 문제였다. 혹시 좋은 방법이 있나 다른 분들의 코드를 봤는데 대부분 유사했다. dictionary로 'zero' : '0' 과 같이 전부 저장해서 dict.items()로 for문을 순회하면서 replace()를 작성하신 분도 계셨다. def solution(s): s = s.replace('zero', '0') s = s.replace('one', '1') s = s.replace('two', '2') s = s.replace('three', '3') s = s.replace('four', '4') s = s.replace('five', '5') s = s.replace('six', '6') s = s.replace('seven', '7') s = s.repla..
2024.03.30 -
프로그래머스 [체육복]
풀이 아직 실패다. 왜 오답인지 몰라서 구글 선생님의 코드를 찾아봤는데 유사하다. 내일 다시 찾아봐야겠다. def solution(n, lost, reserve): lli = [l for l in lost if l not in reserve] rli = [r for r in reserve if r not in lost] li = [] for r in rli: if r-1 in lli and r-1 not in li: li.append(r-1) elif r+1 in lli and r+1 not in li: li.append(r+1) return n - (len(lli) - len(li)) lost를 기준으로 for문을 순회하고 lli.sort()를 추가해서 해결했다. lost=[4,2], reserve=[..
2024.03.29 -
프로그래머스 [부족한 금액 계산하기]
풀이 시그마가 떠올랐는데 공식이 생각이 안 나서 검색했다. 가우스 공식으로, (n+1)*n/2를 사용하여 풀었다. def solution(price, money, count): answer = price*(count*(count+1)/2) - money if answer
2024.03.29 -
프로그래머스 [멀리 뛰기]
풀이 피보나치 수열과 같은 식이다. 처음에 n = 1일 경우를 생각하지 않고 [0]*n을 썼다가 테스트 케이스에서 런타임 에러가 발생했다. [0]*(n+1)로 수정해서 해결했다. def solution(n): li = [0]*(n+1) li[0] = 1 li[1] = 2 for i in range(2, n): li[i] = li[i-2] + li[i-1] return (li[n-1] % 1234567)
2024.03.28 -
프로그래머스 [바탕화면 정리]
풀이 문제가 길어서 읽기 귀찮았지만 끝까지 읽었다. 시작점의 x, y는 행, 열에서 가장 작은 수를 넣으면 되고 끝점의 x, y도 행, 열에서 가장 큰 수에 1을 더하면 된다. def solution(wallpaper): r = len(wallpaper) c = len(wallpaper[0]) answer = [r, c, 0, 0] for i in range(r): for j in range(c): if wallpaper[i][j] == '#': if i answer[2]: answer[2] = i if j answer[3]: answer[3] = j answer[2] += 1 ans..
2024.03.28 -
프로그래머스 [배달]
풀이 최단 경로를 찾아내는 코드를 작성했다. 다익스트라 알고리즘을 사용하면 되는 거 같아서 다익스트라에 대한 기억을 끄집어내려고 했는데 유튜브 선생님들의 강의로는 뭔지 잘 모르겠어서 bfs에서 살짝 변형한 정도로 생각나는 대로 작성했다. 장염에 걸린 걸 변명삼아 나중에 비슷한 문제를 마주하면 다시 알아봐야겠다. import heapq def solution(N, road, K): answer = 0 graph = [[] for _ in range(N+1)] distance = [500001]*(N+1) for r in road: graph[r[0]].append((r[1], r[2])) graph[r[1]].append((r[0], r[2])) queue = [] heapq.heappush(queue, ..
2024.03.27