반응형

구현 47

백준 BAEKJOON 32369번 양파 실험 [PYTHON/파이썬]

백준 BAEKJOON 32369번 양파 실험 [PYTHON/파이썬] (BRONZE Ⅳ)https://www.acmicpc.net/problem/32369      주어진 3가지 조건만 이행한다면 간단하게 구현 할 수 있는 문제다.1번 조건을 통해 칭찬 양파에 A를 더하고 비난 양파에 B를 더한다.2번 조건을 통해 비난 양파가 칭찬 양파보다 길다면 둘의 역할을 바꾼다.3번 조건을 통해 칭찬 양파와 비난 양파의 길이가 같다면 비난 양파 길이를 1만큼 자른다.      N, A, B = map(int, input().split())x, y = 1, 1while N: # 1번 조건 x += A y += B # 2번 조건 if x

백준 BAEKJOON 2947번 나무 조각 [PYTHON/파이썬]

백준 BAEKJOON 2947번 나무 조각 [PYTHON/파이썬] (BRONZE Ⅰ)https://www.acmicpc.net/problem/2947       while 문과 for 문을 함께 사용하여서 풀었다.while 문의 조건은 나무 조각의 순서가 [1, 2, 3, 4, 5]가 아닐 때 작동하고for 문은 i 인덱스와 i+1 인덱스를 활용해야 하기 때문에 전체 길이 5에서 -1을 한 4만큼 탐색한다.그리고 i 인덱스 값이 i+1 인덱스 값보다 크다면 둘의 자리를 바꿔줬다.바꿔줬다면 현재 나무 조각의 순서를 print하는 방향으로 결괏값을 도출했다.        woodCarving = list(map(int, input().split()))while woodCarving != [1, 2, 3, 4..

백준 BAEKJOON 32280번 지각생 [PYTHON/파이썬]

백준 BAEKJOON 32280번 지각생 [PYTHON/파이썬] (BRONZE Ⅱ)https://www.acmicpc.net/problem/32280        처음엔 교실에 들어온 시각을 전부 분(min) 형태로 치환을 해줄까 했지만그냥 문자열 그대로 대소 비교를 해주니 원하는 결과를 얻을 수 있었다.문제의 조건에 따라 학생들의 도착 시간이정해진 등교 시간과 선생님이 도착한 시간보다 크거나 같을 때가 지각이기에if 문을 통해 결과값에 더했다.       N = int(input())timeTable = []teacherTime = ""for _ in range(N + 1): a, b = input().split() if b == "teacher": # 선생님 도착 시간 tea..

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

반응형