반응형

백준 351

백준 BAEKJOON 32866번 코인의 신 건모 [PYTHON/파이썬]

백준 BAEKJOON 32866번 코인의 신 건모 [PYTHON/파이썬][목차여기] (BRONZE Ⅲ)https://www.acmicpc.net/problem/32866         먼저 원금 N에서 X%만큼 손실된 현재 금액을 구해야 한다.현재 금액 = N * (1 - X / 100)원금을 다시 되찾으려면 현재 금액에서 몇 %가 증가해야 하는지 계산해야 한다.Y%가 증가하여 원금 N이 되어야 하므로 아래와 같이 식을 작성할 수 있다.N = 현재 금액 * (1 + Y / 100)이를 변형하면Y = (N / 현재 금액 - 1) * 100 위의 식을 활용하여 코드에 적용 후 문제의 조건에 맞게 f-string을 사용하여 결과를 출력했다.      N = int(input())X = int(input())c..

ALGORITHM/PYTHON 2025.02.16

백준 BAEKJOON 32779번 가희와 전기 요금 1 [PYTHON/파이썬]

백준 BAEKJOON 32779번 가희와 전기 요금 1 [PYTHON/파이썬][목차여기] (BRONZE Ⅰ)https://www.acmicpc.net/problem/32779        문제에서 요구하는 요금을 식으로 정리하면 아래와 같다.하지만 이 식의 순서대로 문제를 풀면 틀렸다는 결과가 나온다.왜?부동소수점의 오차가 발생하기 때문이다.해결하기 위해서는 미리 105.6 / (60 * 1000)의 결과를 특정해야 한다.결과를 특정하면 상수 0.00176이 나온다는 것을 알 수 있다.즉, a * m * 0.00176을 하면 요금을 알 수 있고문제 조건에서 소수점 절사를 하기 때문에 int를 사용하면 결과를 출력할 수 있다.      Q = int(input())for _ in range(Q): a..

ALGORITHM/PYTHON 2025.01.31

백준 BAEKJOON 32778번 가희와 부역명 [PYTHON/파이썬]

백준 BAEKJOON 32778번 가희와 부역명 [PYTHON/파이썬] (BRONZE Ⅲ)https://www.acmicpc.net/problem/32778        먼저 부역명이 있는지 없는지 확인하는 if 문을 작성했다.문자열 내에 괄호가 있다면 부역명이 있는 거니까index를 활용하여 '('와 ')'의 위치를 찾아낸 뒤에문자열 슬라이스를 통해 역명과 부역명을 출력하였다.        name = input()if "(" in name: start, end = name.index("("), name.index(")") print(name[: start - 1]) print(name[start + 1 : end])else: # 부역명이 없다면 print(name + "\n-")

ALGORITHM/PYTHON 2025.01.26

백준 BAEKJOON 32777번 가희와 서울 지하철 2호선 [PYTHON/파이썬]

백준 BAEKJOON 32777번 가희와 서울 지하철 2호선 [PYTHON/파이썬] (BRONZE Ⅲ)https://www.acmicpc.net/problem/32777        역 번호가 201번부터 243번까지 총 43개의 역이 있다.역 번호가 a번 역이  b번 역보다 작다면내선 순환 열차는 b - a, 외선 순환 열차는 43 - (b- a) 이다.반대로 a번 역이 b번 역보다 크다면내선 순환 열차는 43 - (a - b), 외선 순환 열차는 a - b 이다. 이렇게 내선과 외선의 값 중 작은 값이 더 빠르게 간다는 의미이다.if 문을 활용하여 내선 열차가 빠른지 외선 열차가 빠른지 출력했다.       Q = int(input())for _ in range(Q): a, b = map(int..

ALGORITHM/PYTHON 2025.01.24

백준 BAEKJOON 32776번 가희와 4시간의 벽 2 [PYTHON/파이썬]

백준 BAEKJOON 32776번 가희와 4시간의 벽 2 [PYTHON/파이썬] (BRONZE Ⅳ)https://www.acmicpc.net/problem/32776        주어진 문제의 조건만 적용시키면 어렵지 않다.역 a에서 역 b로 갈 때 고속철도와 항공편의 시간을 비교하면 된다.만약 고속철도의 소요 시간이 4시간 이하라면무조건 고속철도를 이용하게 구현하면 된다.         S = int(input())Ma, F, Mb = map(int, input().split())if S

ALGORITHM/PYTHON 2025.01.15

백준 BAEKJOON 32710번 구구단표 [PYTHON/파이썬]

백준 BAEKJOON 32710번 구구단표 [PYTHON/파이썬] (BRONZE Ⅳ)https://www.acmicpc.net/problem/32710         이번 문제는 이중 for 문을 활용해 봤다.먼저 check 이란 변수에 False 값을 지정했다.첫 번째 for 문을 수행하고다음 문장에 check이 False일 경우에만 다음 for 문이 실행되게 구현했다.(check이 True일 경우에는 첫 번째 for 문이 break 되게 구현) table 리스트에 구구단에 해당되는 숫자를 저장하고N 값이 table에 있다면 check을 True로 바꾼 후 break 했다.        N = int(input())check = Falsefor i in range(2, 10): if not che..

ALGORITHM/PYTHON 2025.01.12

백준 BAEKJOON 29718번 줄줄이 박수 [PYTHON/파이썬]

백준 BAEKJOON 29718번 줄줄이 박수 [PYTHON/파이썬] (SILVER Ⅲ)https://www.acmicpc.net/problem/29718        2차원 리스트에 대한 누적합을 이용하면 쉽게 풀 수 있다.먼저 박수 횟수가 저장되는 clap 리스트에 입력 값을 받아준다.그리고 2중 for문을 사용하여 박수 횟수에 대한 누적합을 S 리스트에 담아준다.for i in range(1, N + 1): for j in range(1, M + 1): S[i][j] = S[i - 1][j] + S[i][j - 1] - S[i - 1][j - 1] + clap[i][j]예제 입력 1을 기준으로 누적합을 채운 리스트는 아래와 같이 작성된다.이 누적합을 토대로 브실이가 정한 열의 개수..

ALGORITHM/PYTHON 2025.01.04

백준 BAEKJOON 32684번 장기 [PYTHON/파이썬]

백준 BAEKJOON 32684번 장기 [PYTHON/파이썬] (BRONZE Ⅳ)https://www.acmicpc.net/problem/32684        나는 남은 기물 개수를 통해 점수를 계산하는 함수를 만들어서 풀었다.척이와 은규의 남은 기물 수를 리스트 형태로 받은 뒤 함수에 넣어 점수를 계산했다.은규는 후수인 한나라이기 때문에 1.5점을 추가로 더해줬다.마지막으로 if 문을 통해 비교를 한 뒤 점수가 높은 사람을 출력해 줬다.       def Janggi(x): result = 0 point = [13, 7, 5, 3, 3, 2] for i in range(6): result += x[i] * point[i] return resultA = list(map..

ALGORITHM/PYTHON 2025.01.03
반응형