반응형

ALGORITHM 334

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

백준 BAEKJOON 1919번 애너그램 만들기 [PYTHON/파이썬]

백준 BAEKJOON 1919번 애너그램 만들기 [PYTHON/파이썬] (BRONZE Ⅱ)https://www.acmicpc.net/problem/1919       첫째 줄과 둘째 줄에 입력되는 영어 단어의 알파뱃 개수를 세는 방법으로 문제에 접근했다.길이가 26인 리스트를 만든 후 ord()를 활용하여 주어지는 알파뱃의 아스키코드를 확인하여각 알파뱃들이 몇 번 등장하는지 리스트 형태로 구현했다.그리고 만들어진 두 개의 리스트를 0번째 인덱스부터 비교하여알파뱃 개수가 다르다면 그 개수의 차이만큼 결과값에 더해준 뒤 출력해 줬다.      def checkAlpha(x): lst = [0] * 26 for i in x: lst[ord(i) - 97] += 1 return ls..

ALGORITHM/PYTHON 2024.12.28
반응형