반응형

BRONZE Ⅲ 45

백준 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 32246번 빙고 막기 [PYTHON/파이썬]

백준 BAEKJOON 32246번 빙고 막기 [PYTHON/파이썬] (BRONZE Ⅲ)https://www.acmicpc.net/problem/32246        처음에는 예제 풀이만 보고 빙고판에 칠해야 하는 칸이 N개인 줄 알았으나 N이 2일 때만 함정이 숨어있었다.조건 중 '길이가 N인 두 개의 대각선 각각에 하나 이상의 칸이 칠해져 있다.'를 생각해보면N이 2일 때는 대각선이 무조건 비게 되므로 한 칸 더 칠해주니 3을 출력하고나머지 값일 때는 N을 출력하면 된다.       N = int(input())if N == 2: print(3)else: print(N)

ALGORITHM/PYTHON 2024.09.23

백준 BAEKJOON 32216번 찬물 샤워 [PYTHON/파이썬]

백준 BAEKJOON 32216번 찬물 샤워 [PYTHON/파이썬] (BRONZE Ⅲ)https://www.acmicpc.net/problem/32216       문제를 쉽게 풀기 위해 온도 변화 d 리스트 앞에 0을 추가했다.그리고 샤워기 온도가 담길 리스트 T_lst를 만들어줬다.그리고 샤워기 온도 변화에 관련된 조건들을 문제와 같게 세팅해 주어서T_lst를 완성시킨 뒤에 for문을 돌려 도훈이의 불쾌함 지수를 출력해 줬다.        n, k, T = map(int, input().split())d = [0] + list(map(int, input().split()))T_lst = [T] + [0] * nfor i in range(n): if T_lst[i] > k: # 물이 너무 뜨거울..

ALGORITHM/PYTHON 2024.09.13

백준 BAEKJOON 32209번 다음 달에 봐요 [PYTHON/파이썬]

백준 BAEKJOON 32209번 다음 달에 봐요 [PYTHON/파이썬] (BRONZE Ⅲ)https://www.acmicpc.net/problem/32209       주어진 이벤트 Q의 순서대로 1번 이벤트로는 문제 포럼에 더하고, 2번 이벤트로는 문제 포럼에 빼주면 된다.문제 포럼에 사용되지 않은 문제가 y개 미만이라면 월간 향휴회는 즉시 해산이기에문제 포럼의 문제의 개수가 0 미만이 되는 순간 해산이 된다는 것을 알 수 있다.      Q = int(input())result = 0check = Truewhile Q: a, b = map(int, input().split()) if a == 1: result += b elif a == 2: result -=..

ALGORITHM/PYTHON 2024.09.06

백준 BAEKJOON 32184번 디미고에 가고 싶어! [PYTHON/파이썬]

백준 BAEKJOON 32184번 디미고에 가고 싶어! [PYTHON/파이썬] (BRONZE Ⅲ)https://www.acmicpc.net/problem/32184        B에서 A를 뺀 값을 2로 나눈 몫에서 1을 더해주면 결과를 도출할 수 있다.하지만 A가 짝수, B가 홀수인 경우에만 2를 더해줘야한다.왜냐하면 A가 짝수일 때 세로로 한 장, B가 홀수인 경우 세로로 한 장이 추가되기 때문이다.      A, B = map(int, input().split())if A % 2 == 0 and B % 2 != 0: print((B - A) // 2 + 2)else: print((B - A) // 2 + 1)

ALGORITHM/PYTHON 2024.09.05

백준 BAEKJOON 32193번 승강장의 깊이 [PYTHON/파이썬]

백준 BAEKJOON 32193번 승강장의 깊이 [PYTHON/파이썬] (BRONZE Ⅲ)https://www.acmicpc.net/problem/32193         처음 풀었을 때는 시간 초과가 떠서 당황했다.단순하게 생각했던 게 잘못이었던 것 같았다.# 처음 풀이 (시간 초과)N = int(input())tmp = 0for _ in range(N): A, B = map(int, input().split()) result = A - B + tmp print(result) tmp = result   고민하던 찰나에 누적합을 적용하니 정답처리가 되어서 문제를 풀 수 있었다.누적합에 관한 내용은 아래의 글을 참고하면 좋다! 백준 BAEKJOON 11441번 합 구하기 [PYTHON..

ALGORITHM/PYTHON 2024.08.29

백준 BAEKJOON 32068번 보물 찾기 [PYTHON/파이썬]

백준 BAEKJOON 32068번 보물 찾기 [PYTHON/파이썬] (BRONZE Ⅲ)https://www.acmicpc.net/problem/32068       시작하는 위치 S에서 L과 R 중에 먼저 누가 도달하는지 원리만 알면 쉽다.먼저 L과 S, R과 S 사이의 거리를 구한 뒤에L과 S의 거리가 작다면 (거리 * 2 + 1),R과 S의 거리가 작다면 (거리 * 2)를 적용시키면 된다. (L-S, R-S 거리가 같아도 이 수식을 적용)      T = int(input())for _ in range(T): L, R, S = map(int, input().split()) L_Check, R_Check = S - L, R - S if L_Check

ALGORITHM/PYTHON 2024.08.22
반응형