반응형

전체 글 336

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

백준 BAEKJOON 1592번 영식이와 친구들 [PYTHON/파이썬]

백준 BAEKJOON 1592번 영식이와 친구들 [PYTHON/파이썬] (BRONZE Ⅱ)https://www.acmicpc.net/problem/1592       영식이와 친구들이 공을 받은 횟수를 리스트로 만들어줬다.처음에 1번 자리에 앉은 사람이 공을 받으니[1, 0, 0, 0, ..., 0] 형태로 구현해 줬다.ball = [1] + [0] * (N - 1)공을 M번 받은 시점에서 게임이 종료되니만약 M이 1일 경우에는 바로 게임이 끝나게끔 if 문을 구현했다.그렇지 않다면 while 문을 활용하여 공을 받은 횟수가 홀수라면 오른쪽으로 L만큼 던지고짝수라면 왼쪽으로 L만큼 던지게끔 idx 값을 조절했다.만약 idx가 리스트의 길이인 N의 범위를 벗어날 수도 있으니 if 문으로 idx 값을 조절했..

ALGORITHM/PYTHON 2024.12.20

백준 BAEKJOON 1434번 책 정리 [PYTHON/파이썬]

백준 BAEKJOON 1434번 책 정리 [PYTHON/파이썬] (BRONZE Ⅱ)https://www.acmicpc.net/problem/1434        박스의 인덱스를 i, 책의 인덱스를 j로 설정하고while 문을 책의 개수만큼 돌렸다.현재 들고 있는 책이 앞에 있는 박스의 용량보다 같거나 작다면책을 해당 박스에 집어 놓고 박스의 용량에서 책의 크기만큼 빼줬다.그리고 만약 책이 박스의 용량보다 크다면 박스의 인덱스를 +1 하여 다음 박스로 이동했다.이걸 반복하면 현재 박스의 남아있는 용량을 체크하여 sum 함수를 통해 정답을 출력할 수 있다.      N, M = map(int, input().split())A = list(map(int, input().split()))B = list(map(..

ALGORITHM/PYTHON 2024.12.08
반응형