반응형

백준 304

백준 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)

백준 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: # 물이 너무 뜨거울..

백준 BAEKJOON 32215번 코드마스터 2024 [PYTHON/파이썬]

백준 BAEKJOON 32215번 코드마스터 2024 [PYTHON/파이썬] (BRONZE Ⅳ)https://www.acmicpc.net/problem/32215      처음엔 문제를 잘못 이해했었다.당연히 n대의 컴퓨터 중 k대에 에디터를 설치 후 남은 컴퓨터에 또 설치를 하는 걸로 이해했었다.단순하게 k대의 컴퓨터에 하나씩 에디터를 설치 후 (k * m)차형준 선생님의 노트북에 에디터를 설치하는 문제였다. (+m)         n, m, k = map(int, input().split())print(k * m + m)

백준 BAEKJOON 32171번 울타리 공사 [PYTHON/파이썬]

백준 BAEKJOON 32171번 울타리 공사 [PYTHON/파이썬] (BRONZE Ⅱ)https://www.acmicpc.net/problem/32171        N개의 건물을 짓지만 첫 건물이 좌표의 기준이 되어야하기 때문에 따로 입력을 받아주었다.좌표 (a, b)와 (c, d)로 이루어진 사각형의 둘레가 문제에서 얘기하는 울타리 공사의 비용이다.둘레를 구하는 공식은 ((c - a) + (d - b)) * 2 이다. 그렇기 때문에 따로 함수로 만들어 사용했다.새로운 건물을 지으면서 주어지는 좌표 (a, b)와 기존 좌표 (a, b)는 min 함수를 통해서새로운 건물을 지으면서 주어지는 좌표 (c, d)와 기존 좌표 (c, d)는 max 함수를 통해서값을 수정한 뒤에 울타리 공사의 비용을 개별로 출..

백준 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 -=..

백준 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)

백준 BAEKJOON 32141번 카드 게임 (Easy) [PYTHON/파이썬]

백준 BAEKJOON 32141번 카드 게임 (Easy) [PYTHON/파이썬] (BRONZE Ⅱ)https://www.acmicpc.net/problem/32141       오름차순으로 정렬된 카드의 공격력을 누적합 리스트 S로 만들었다.즉, 누적합의 마지막 인덱스의 요소가 모든 카드의 공격력의 합과 같다.그러니 먼저 모든 카드를 사용하여 상대를 죽일 수 없으면 -1을 출력하고그렇지 않다면 for문으로 순회하여 몇 개의 카드를 사용해야상대를 죽일 수 있는지 출력하면 된다.        N, H = map(int, input().split())d = [0] + list(map(int, input().split()))S = [0] * (N + 1) # 공격력 누적합 배열for k in range(1, ..

백준 BAEKJOON 32132번 PlayStation이 아니에요 [PYTHON/파이썬]

백준 BAEKJOON 32132번 PlayStation이 아니에요 [PYTHON/파이썬] (BRONZE Ⅰ)https://www.acmicpc.net/problem/32132      단순하게 문자열을 바꾸면 된다고 생각해서 replace()를 사용하여 풀었다.문제를 푸는 과정에서 replace를 여러개 사용할 수 있다는 것도 알게 되었다.      N = int(input())word = input()while True: if "PS4" in word or "PS5" in word: word = word.replace("PS4", "PS").replace("PS5", "PS") else: breakprint(word)

백준 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..

백준 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

반응형