목록Algorithm (4)
1463 n = int(input()) dp = [0]*(n+1) for i in range(1, n+1): # 0과 1은 연산이 필요가 없어 [0, 0]이다. 때문에 for문은 2부터 시작해야 한다. dp[i] = dp[i-1]+1 if i%3==0: dp[i] = min(dp[i], dp[i//3]+1) if i%2==0: dp[i] = min(dp[i], dp[i//2]+1) print(dp[n]) """ count: 0,1:0 2:1 3:1 4:2 5:3 for문이 0, 1, 2로 시작할 때의 n=5일때 차이점(n을 인덱스에 맞추고, 값에는 count를 넣는다) 0시작 : [1, 2, 3, 3, 4, 5] 1시작 : [0, 1, 2, 2, 3, 4] 2시작 : [0, 0, 1, 1, 2, 3] "..
프로그래머스에서 어찌저찌 level1문제를 찾아보니 바로 신고 결과 받기 문제가 보이길래 풀어봤다. 결과는 4번 시간초과로 틀렸다ㅎ level1 문제 하나 푸는데 거의 4~5시간을 쳐다본 것 같다ㅋㅋㅋ 밥먹고 다시 앉아서 정리해가며 코드를 짜보니까 40분이 걸렸고, 결국은 시간초과 4번나고 틀렸다. 문제 하나에 너무 많은 시간을 투자하는 것 같아서 그냥 풀이를 참고해서 이해를 하려고 한다 내 코드는 이렇다 from collections import defaultdict def solution(id_list, report, k): answer = [0]*len(id_list) # 신고당한 횟수 구해서 {이름:횟수}로 reported_dict 생성 # 신고한 횟수 누적시킬 report_dict reporte..
boj.kr/문제번호 1924 a = ['SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT'] # 1.요일에 대한 리스트 b = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] # 2.월에 대한 리스트 m,d = map(int, input().split()) # 3.월 일 입력 day = 0 # 계산할 날짜 for i in range(0, m-1): # 4.리스트의 인덱스는 0부터 시작하기 때문에 범위는 0,x-1로 설정, 요일을 구하는 방법은 day를 다 더해서 7로 나누면 요일이 나오기 때문에 day += b[i] # 데이를 다 더함 day = (day+d)%7 # 5.더한 day를 7로 나눈 print(a[day]) # 6.나머..
https://steady-coding.tistory.com/260 이 블로그를 읽고 https://plzrun.tistory.com/entry/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EB%AC%B8%EC%A0%9C%ED%92%80%EC%9D%B4PS-%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0 이 블로그를 지도 삼아 시작해보려고 한다. 기본 문제들은 10분! 알고리즘 한 문제당 최대 1시간! 그 이후로도 안되면 좋은 정답(100위 안의 사람들 등)과 해설이 같이 있는 것을 찾아서 풀 것! boj.kr/ + 문제번호 형태로 검색한다 2557 print('Hello World!') 1000 a, b = map(int, input().aplit()) prin..