반응형

ALGORITHM 292

백준 BAEKJOON 25642번 젓가락 게임 [PYTHON/파이썬]

백준 BAEKJOON 25642번 젓가락 게임 [PYTHON/파이썬] https://www.acmicpc.net/problem/25642 25642번: 젓가락 게임 용태와 유진이가 게임을 플레이했을 때 용태가 이기게 된다면 yt 를, 유진이가 이긴다면 yj 를 출력한다. www.acmicpc.net while문을 활용하여 풀었다. 용태(A)가 먼저 시작하니 용태의 손가락 개수만큼 유진(B)에게 더해줬다. 그리고 if 문을 통해 유진의 손가락이 5개 이상이면 용태가 이기고 break 다시 유진의 손가락 개수만큼 용태에게 더하고 용태의 손가락 5개 이상이면 유진이 이기고 break 시켜 풀었다. A, B = map(int, input().split())# 용태(A), 유진(B) while 1 : B += A..

백준 BAEKJOON 10812번 바구니 순서 바꾸기 [PYTHON/파이썬]

백준 BAEKJOON 10812번 바구니 순서 바꾸기 [PYTHON/파이썬] https://www.acmicpc.net/problem/10812 10812번: 바구니 순서 바꾸기 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 순서대로 적혀져 있다. 바구니는 일렬로 놓여져 있고, 가장 왼쪽 바구니를 1번째 바구니, 그 다음 바구니를 2 www.acmicpc.net 리스트 안에서 조건에 해당하는 i, j, k 의 부분을 떼어와서 그 부분만 수정을 해주며 풀었다. N, M = map(int, input().split()) Basket = [i+1 for i in range(N)]# 1~N까지의 리스트 for _ in range(M) : i, j, k = map(int, i..

백준 BAEKJOON 2484번 주사위 네개 [PYTHON/파이썬]

백준 BAEKJOON 2484번 주사위 네개 [PYTHON/파이썬] https://www.acmicpc.net/problem/2484 2484번: 주사위 네개 첫째 줄에는 참여하는 사람 수 N이 주어지고 그 다음 줄부터 N개의 줄에 사람들이 주사위를 던진 4개의 눈이 빈칸을 사이에 두고 각각 주어진다. www.acmicpc.net 1~5번의 조건을 구현해줬다. 4개의 숫자 리스트를 dices에 담고 중복을 제거하기 위해 set 함수를 사용하여 set_dices에 담았다. tmp 리스트는 set_dices를 통해 같은 숫자가 몇 개씩 들어있는지 확인하는 용도이다. N = int(input()) result = [] for _ in range(N) : dices = list(map(int,input().sp..

백준 BAEKJOON 21918번 전구 [PYTHON/파이썬]

백준 BAEKJOON 21918번 전구 [PYTHON/파이썬] https://www.acmicpc.net/problem/21918 21918번: 전구 $N$개의 전구가 있고 맨 왼쪽에 있는 전구를 첫 번째라고 하자. 전구의 상태는 두 가지가 있으며 이를 숫자로 표현한다. $1$은 전구가 켜져 있는 상태를 의미하고, $0$은 전구가 꺼져 있는 상태를 www.acmicpc.net 단순 구현 문제이다. 1~4번 명령어에 맞게 구현해줬다. 리스트의 한 줄 출력을 위해 print(*리스트) 를 사용해줬다. N, M = map(int, input().split()) bulbs = list(map(int, input().split()))# 전구 상태 리스트 for _ in range(M) : a, b, c = map..

백준 BAEKJOON 25325번 학생 인기도 측정 [PYTHON/파이썬]

백준 BAEKJOON 25325번 학생 인기도 측정 [PYTHON/파이썬] https://www.acmicpc.net/problem/25325 25325번: 학생 인기도 측정 학생 이름이 공백으로 구분된 문자열 A가 주어진다. 문자열 A에는 중복된 학생 이름이 존재하지 않는다. 학생 이름은 알파벳 소문자로 이루어져 있다. 각 학생이 좋아하는 학생의 학생 이름 목록 www.acmicpc.net 딕셔너리 사용법과 딕셔너리 정렬 방법에 대해서는 아래의 블로그를 참고하였다. [Python] 파이썬 딕셔너리(dictionary) 정렬(reverse) 하는 방법 : sorted() 키값 기준 정렬, lambda x:x[1] 의미 파이썬에서 딕셔너리 자료형을 키 값 기준으로 정렬하는 방법과 리스트를 정렬하는 방법에 ..

백준 BAEKJOON 25326번 다중 항목 선호도 조사 (Small) [PYTHON/파이썬]

백준 BAEKJOON 25326번 다중 항목 선호도 조사 (Small) [PYTHON/파이썬] https://www.acmicpc.net/problem/25326 25326번: 다중 항목 선호도 조사 (Small) n명의 학생에게 다음과 같이 선호도를 조사하였다. 각 학생은 아래 세 가지 조사 항목 각각에 대하여 반드시 1가지를 선택해야 한다. 좋아하는 과목(subject)에 'kor', 'eng', 'math' 중 하나를 선택 좋아 www.acmicpc.net 선호도 질의에 맞춰서 subject, fruit, color 를 검사했다. 일치하면 check 에 +1을 하여 check 이 3이 됐을 때 cnt 에 +1 하였다.('-' 를 만나면 check을 +1을 하고 continue로 다음 항목으로 넘겼다..

백준 BAEKJOON 23321번 홍익 댄스파티 [PYTHON/파이썬]

백준 BAEKJOON 23321번 홍익 댄스파티 [PYTHON/파이썬] https://www.acmicpc.net/problem/23321 23321번: 홍익 댄스파티 10년 전, 홍익대학교 학생을 위한 댄스파티가 개최되었다. 도약 준비 도약 중 착석 1 . o . 2 o w . 3 m l o 4 l n L 5 n . n 댄스파티에는 위와 같이 세 종류의 학생이 있다. 학생들은 빈자리 없이 좌우로 www.acmicpc.net 도약 준비 학생은 도약 중 으로 변환 도약 중 학생은 도약 준비 로 변환 착석 학생은 변하지 않음 5줄을 열로 분리했을 때 '.omln' 는 'owln.' 으로 바뀌고 'owln.' 는 '.omln' 으로 바뀐다. 단순 반복 작업으로 풀어서 코드가 깔끔하지 못해 아쉬운 문제였다. p..

백준 BAEKJOON 20944번 팰린드롬 척화비 [PYTHON/파이썬]

백준 BAEKJOON 20944번 팰린드롬 척화비 [PYTHON/파이썬] https://www.acmicpc.net/problem/20944 20944번: 팰린드롬 척화비 흥선이는 팰린드롬을 싫어한다. 어느 날 지구를 정복한 흥선이는 팰린드롬 척화비를 세워, 전 지구의 팰린드롬을 없애버렸다. 그리고 수미상관 순수비를 만들어 수미상관을 널리 퍼뜨렸다. 팰 www.acmicpc.net 문제의 입력, 출력만 보면 이해가 안될수도 있다. 문제의 출력 부분을 보면 '만약 여러 가지가 있다면 그중 하나를 출력한다.' 문구를 보고 간단하게 생각해보았다. 알파벳 'a'를 사용하여 길이가 N인 문자열을 만들어주면 그것 또한 팰린드롬 문자열이니 조건에 충족한다. N = int(input()) print('a' * N)

백준 BAEKJOON 20528번 끝말잇기 [PYTHON/파이썬]

백준 BAEKJOON 20528번 끝말잇기 [PYTHON/파이썬] https://www.acmicpc.net/problem/20528 20528번: 끝말잇기 욱제는 준원이랑 끝말잇기를 하고 있다. 준원이가 시작하자마자 '스트론튬'을 외쳐서 욱제는 피가 거꾸로 솟았다~ 솟으면 백두산~ 백두산은 높아~ 높으면 비행기~ 비행기는 빨라~ 빠르면 기차~ www.acmicpc.net 입력으로 주어진 문자열들은 모두 팰린드롬 문자열이기에 맨 앞글자가 모두 같은지 판단해주면 된다. set() 집합을 만든 후 주어진 문자열들의 앞글자를 추가해준 뒤 집합의 길이가 1이면 끝말잇기가 가능, 0이면 불가능 N = int(input()) palindrome = input().split() result = set() for i ..

백준 BAEKJOON 10384번 팬그램 [PYTHON/파이썬]

백준 BAEKJOON 10384번 팬그램 [PYTHON/파이썬] https://www.acmicpc.net/problem/10384 10384번: 팬그램 팬그램은 모든 알파벳을 적어도 한 번씩을 사용한 영어 문장을 말한다. 다음은 유명한 팬그램 중 하나이다. The quick brown fox jumps over a lazy dog 더블 팬그램은 모든 알파벳을 적어도 두 번씩은 사용 www.acmicpc.net 먼저 알파벳 리스트를 만들었다. (a = 97, z = 122) Case (번호)를 구현하기 위해 for 문을 1부터 시작하게 만들었고 문자열 입력을 알파벳 리스트와 대칭시키기 위해 lower()를 사용하여 모두 소문자로 변환시켰다. check 이라는 리스트에 0으로 길이 26으로 채웠다. (a~..

반응형