분류 전체보기

    [백준 파이썬] # 2869 달팽이는 올라가고 싶다

    2022.02.17 Bronze I # 2869 설탕배달 링크 : https://www.acmicpc.net/problem/2869 2869번: 달팽이는 올라가고 싶다 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) www.acmicpc.net 풀이 import math A, B, V = map(int, input().split()) v_1 = V-A # (마지막 날 - 1)일에 도달해야 하는 높이 dis = A-B # 하루동안 최종으로 이동하는 거리 print(math.ceil(v_1/dis)+1) 후기 math를 사용해도 되는지 잘 모르겠지만.. 목적지에 도착하기 하루 전날에 도달해야 하는 목표를 v_1이라 설정했다. 달팽이가..

    [백준 파이썬] # 2839 설탕 배달

    Bronze I # 2839 설탕배달 링크 : https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 풀이 N = int(input()) dp = [-1 for i in range(N+3)]\ dp[3] = 1 dp[5] = 1 for i in range(3, N+1): if dp[i-3] != -1 and dp[i-5] != -1: dp[i] = min(dp[i-3], dp[i-5]) + 1 elif dp[i-3] != -1: dp[i] = dp[i-3] + ..

    [백준 파이썬] # 1463 1로 만들기

    Siver III # 1463 가장 긴 증가하는 부분 수열 링크 : https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 풀이 N = int(input()) li = list(range(N+1)) dp = [0 for i in range(N+3)] dp[2] = 1 dp[3] = 1 for i in range(4, N+1): if i%3 == 0 and i%2 == 0: dp[i] = min(dp[i//3], dp[i//2], dp[i-1]) + 1 elif i%3 == 0: dp[i] = min(dp[i//3], dp[i-1]) + 1 elif i%2 == 0:..

    [Today I Learn] 2022.02.16

    What I did 하루종일 LIS 문제 풀이를 이해하려고 했지만, 확실하게 습득하지 못했다. TIL LIS : longest increasing subsquence, DP를 활용해 풀 수 있지만, 이분탐색을 이용해서 더욱 효율적으로 풀이하는 방법이 있다. (이해한건 아님)

    [백준 파이썬] # 11053 가장 긴 증가하는 부분 수열 (복습 필요)

    Siver II # 11053 가장 긴 증가하는 부분 수열 링크 : https://www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 풀이 N = int(input()) A = list(map(int, input().split())) dp = [1] * N for i in range(N): for j in range(i): if A[j] < A[i]: dp[i] = max(dp[j]+..

    [Today I Learn] 2022.02.15

    What I did CSS 공부가 더 필요하다. infront 페이지 작업을 못함.. 온종일 알고리즘 문제풀이에 집중했다. TIL 순열, 조합 사용법 복습 indexerror는 특정 인덱스의 위치에서 코드가 동작하지 않을 때 나오는 오류이다 → dp 문제를 풀때, 참조하는 값(1, n+1 등)을 잘 살펴볼 것 메모리 초과 : 파이썬이 int형은 메모리 크기가 정해져 있지 않기 때문에 큰 수를 계산하면 많은 메모리가 필요 → 특정 수로 나누는 문제인지 확인해보자. 계산을 마친 후 나누는 것이 아닌, 계산 과정에서 나눗셈을 활용할 수 있을지 고민해볼 것 2022.02.15 - [Algorithm Study/Python] - [백준 파이썬] # 1904 01타일 2022.02.15 - [Algorithm St..

    [백준 파이썬] # 2292 벌집

    Bronze II # 2292 벌집 링크 : https://www.acmicpc.net/problem/2292 2292번: 벌집 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌 www.acmicpc.net 풀이 N = int(input()) cnt = 1 an = [1, 2] while an[-1]

    [백준 파이썬] # 4153 직각삼각형

    Bronze III # 4153 직각삼각형 링크 : https://www.acmicpc.net/problem/4513 4513번: The Neptune Adventure For each data set in the input, print a single line with the shortest amount of time in minutes it takes to reach the location of the rescue team from your starting location without drowning (if possible). If it is not possible to reach the location of the www.acmicpc.net 풀이 while True: li = list(map(i..

    [백준 파이썬] # 5622 다이얼

    Bronze II # 5622 다이얼 링크 : https://www.acmicpc.net/problem/5622 5622번: 다이얼 첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다. www.acmicpc.net 풀이 word = list(input()) dial = [[],[],['A','B','C'],['D','E','F'],['G','H','I'],['J','K','L'],['M','N','O'],['P','Q','R','S'],['T','U','V'],['W','X','Y','Z']] s = 0 for i in word: for j in dial: if i in j: s += dial.index(j) print(s+len(word)) 후..

    [백준 파이썬] # 2480 주사위 세개

    Bronze IV # 2480 주사위 세개 링크 : https://www.acmicpc.net/problem/2480 2480번: 주사위 세개 1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 같은 눈이 2개 www.acmicpc.net 풀이 a, b, c = map(int, input().split()) li = [0 for i in range(7)] # 6+1(0을 포함해야 하므로) li[a] += 1 li[b] += 1 li[c] += 1 if max(li) == 3: print(10000+(li.index(max(li))*1000)) elif max(li) ..