반응형

수학 43

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

백준 BAEKJOON 32025번 체육은 수학과목 입니다 [PYTHON/파이썬]

백준 BAEKJOON 32025번 체육은 수학과목 입니다 [PYTHON/파이썬] (BRONZE Ⅳ)https://www.acmicpc.net/problem/32025        직사각형의 가로, 세로 길이 중 작은 값의 반절이 원의 반지름 값과 같다.미터(m) 단위를 센티미터(cm) 단위로 표현하기 위해 100을 곱해주면 된다.       H = int(input())W = int(input())print(int(min(H, W) * 100 / 2))

ALGORITHM/PYTHON 2024.08.05

백준 BAEKJOON 31995번 게임말 올려놓기 [PYTHON/파이썬]

백준 BAEKJOON 31995번 게임말 올려놓기 [PYTHON/파이썬] (BRONZE Ⅱ)https://www.acmicpc.net/problem/31995        첫 번째 게임말을 두고 오른쪽 아래 대각선에 게임말을 두는 경우와오른쪽 위 대각선에 게임말을 두는 경우를 잘 생각하여규칙을 찾아낸다면 쉽게 풀 수 있다.결과적으로는 가로 길이와 세로 길이 중 하나라도 1이면 경우의 수가 0이고그렇지 않다면 (가로 길이 -1) * (세로 길이 -1) * 2가 정답이다.        N = int(input())M = int(input())if N == 1 or M == 1: print(0)else: print((N - 1) * (M - 1) * 2)

ALGORITHM/PYTHON 2024.08.01

백준 BAEKJOON 31962번 등교 [PYTHON/파이썬]

백준 BAEKJOON 31962번 등교 [PYTHON/파이썬] (BRONZE Ⅳ)https://www.acmicpc.net/problem/31962       출발할 때 걸리는 시간 S와 학교까지 가는 데 걸리는 시간 T를이차원 배열로 만들어준 뒤 S를 기준으로 내림차순 정렬해주었다. 다시 이차원 배열을 순회하면서X분 이내로 버스가 갈 수 있는지 확인해야한다.(나는 bool형 변수 arriveCheck를 사용하여 체크했다.) arriveCheck 변수를 통해 X분 이내로 갈 수 있다면True로 바꿔주고 시간 S를 저장 후 출력했다.가지 못한다면 -1를 출력했다.       N, X = map(int, input().split())busInfo = []for _ in range(N): S, T = m..

ALGORITHM/PYTHON 2024.07.16

백준 BAEKJOON 31880번 K512컵 개최! [PYTHON/파이썬]

백준 BAEKJOON 31880번 K512컵 개최! [PYTHON/파이썬] (BRONZE Ⅱ)https://www.acmicpc.net/problem/31880       초기 행운 수치가 0인 것과 a와 b의 범위를 숙지한다면 쉽게 풀 수 있다.(a는 행운을 더하는 주문서, b는 행운을 곱하는 주문서)만약 b 주문서 목록에 0이 들어있다면 초기 행운 수치가 0이니바로 곱해줘서 소모해줘야 한다. 즉, a 주문서들을 모두 더한 값에 b 주문서들을 곱하되0인 주문서는 continue로 건너뛰어 곱해준 뒤 결괏값을 출력하면 된다는 뜻이다.       N, M = map(int, input().split())a = list(map(int, input().split()))b = list(map(int, input..

ALGORITHM/PYTHON 2024.06.28

백준 BAEKJOON 31867번 홀짝홀짝 [PYTHON/파이썬]

백준 BAEKJOON 31867번 홀짝홀짝 [PYTHON/파이썬] (BRONZE Ⅳ)https://www.acmicpc.net/problem/31867        주어진 정수에 홀수와 짝수의 개수를 세어주면 된다.홀수가 짝수보다 많다면 1을 출력짝수가 홀수보다 많다면 0을 출력그렇지 않다면 -1을 출력하면 된다.      N = int(input())K = input()odd, even = 0, 0for i in K: if int(i) % 2 != 0: odd += 1 else: even += 1if odd > even: print(1)elif odd

ALGORITHM/PYTHON 2024.06.03
반응형