반응형

전체 글 293

백준 BAEKJOON 31495번 그게 무슨 코드니.. [PYTHON/파이썬]

백준 BAEKJOON 31495번 그게 무슨 코드니.. [PYTHON/파이썬] (BRONZE Ⅳ) https://www.acmicpc.net/problem/31495 31495번: 그게 무슨 코드니.. 첫 번째 줄에 토카의 문자열을 뜻하는 문자열 $S$가 주어진다. $S$는 $50$글자를 넘지 않으며, 영어 대소문자와 큰따옴표, 그리고 공백으로 이루어져 있다. 큰따옴표는 전체 문자열에서 $2$개 이하 www.acmicpc.net 첫과 끝이 큰따옴표로 이루고 큰따옴표 내부가 빈 문자열이 아니라면 해당 코드를 출력, 그렇지 않다면 "CE"를 출력하면 된다. code = input() if code[0] == code[-1] == '"' and len(code[1:-1]) > 0: print(code[1:-1..

백준 BAEKJOON 31562번 전주 듣고 노래 맞히기 [PYTHON/파이썬]

백준 BAEKJOON 31562번 전주 듣고 노래 맞히기 [PYTHON/파이썬] (BRONZE Ⅰ) https://www.acmicpc.net/problem/31562 31562번: 전주 듣고 노래 맞히기 윤수와 정환은 「전주 듣고 노래 맞히기」라는 게임을 할 예정이다. 「전주 듣고 노래 맞히기」는 주어진 노래의 전주를 듣고 먼저 제목을 맞히는 사람이 점수를 얻어 최종적으로 점수가 더 많 www.acmicpc.net 전주의 첫 세 음을 노래 제목과 함께 딕셔너리에 담았다. 정환기가 맞히기를 시도할 노래의 첫 세음과 비교하면서 count 변수를 통해 몇 개인지 세어준 뒤, 2개 이상이면 "?"를 출력, 1개면 해당 노래 제목을 출력, 없다면 "!"를 출력했다. N, M = map(int, input().s..

백준 BAEKJOON 30454번 얼룩말을 찾아라! [PYTHON/파이썬]

백준 BAEKJOON 30454번 얼룩말을 찾아라! [PYTHON/파이썬] (BRONZE Ⅲ) https://www.acmicpc.net/problem/30454 30454번: 얼룩말을 찾아라! 첫째 줄에 얼룩말의 개체수 $N$, 얼룩말의 몸통 길이를 나타내는 정수 $L$이 공백으로 구분되어 주어진다. $\left( 1\leq N,L\leq 1\, 000 \right)$ 이어지는 $N$개의 줄에 건덕이가 기록한 길이 $L$의 얼룩말 www.acmicpc.net 쉽게 담기 위해 주어진 얼룩말 줄무늬 마지막에 숫자 "0"을 추가해서 풀었다. 그리고 for 문을 순회하면서 검은 줄이 있는 부분만 리스트에 담았다. max와 count를 적절하게 사용하여 검은 줄의 개수와 그런 얼룩말의 개채수를 출력하였다. N,..

백준 BAEKJOON 12756번 고급 여관 [PYTHON/파이썬]

백준 BAEKJOON 12756번 고급 여관 [PYTHON/파이썬] (BRONZE Ⅲ) https://www.acmicpc.net/problem/12756 12756번: 고급 여관 플레이어 A의 카드가 남아있다면 "PLAYER A"를, 플레이어 B의 카드가 남아있다면 "PLAYER B"를 출력한다. 모두 죽은 상태라면 "DRAW"를 따옴표 없이 출력한다. www.acmicpc.net A 카드(B 카드)가 B 카드(A 카드)를 몇 번 공격해야 HP를 0 이하로 만들 수 있는지 확인하면 된다. 적은 횟수로 공격해서 상대방의 카드의 생명력을 0 이하로 만든 사람이 게임에서 이기기 때문이다. def luckyStone(x, y): if y % x == 0: return y // x else: return y /..

Python의 Zip 함수를 활용한 2차원 배열 전환 방법

시작하기에 앞서, zip 함수란? Python에서 사용되는 내장 함수 중 하나로, 여러 개의 순회 가능한(iterable) 객체를 받아 각 객체에서 동일한 인덱스의 요소들을 묶어 튜플로 반환하는 역할을 한다. 아래는 예제다. numbers = [1, 2, 3, 4] letters = ["a", "b", "c", "d"] zipped = zip(numbers, letters) for z in zipped: print(z) 결과) 위의 결과를 보면, zip() 함수가 각 리스트의 같은 인덱스에 있는 요소들을 묶어서 튜플로 만들어 반환했음을 알 수 있다. 이렇게 함으로써 우리는 두 리스트를 한 번에 처리할 수 있다. 위의 예제는 단순히 두 개의 리스트를 zip() 함수로 묶은 것이지만, zip() 함수는 두 ..

백준 BAEKJOON 31628번 가지 한 두름 주세요 [PYTHON/파이썬]

백준 BAEKJOON 31628번 가지 한 두름 주세요 [PYTHON/파이썬] (BRONZE Ⅲ) https://www.acmicpc.net/problem/31628 31628번: 가지 한 두름 주세요 $10 \times 10$ 격자의 각 칸에 가지가 한 개씩 들어 있습니다. 키위새는 가로로 연속한 $10$개의 칸 혹은 세로로 연속한 $10$개의 칸에 들어 있는 모든 가지를 단 한 번 줄줄이 연결할 수 있습니다. 가 www.acmicpc.net 가로로 연속된 10개의 칸 혹은 세로로 연속된 10개의 칸에 가지의 색이 같은지 확인하는 문제이다. 총 100개의 가지의 색이 주어진 2차원 배열을 입력으로 받고 zip 함수를 활용하여 행과 열을 바꾼 2차원 배열을 만들었다. [Python] 2차원 리스트 뒤집기..

백준 BAEKJOON 20499번 Darius님 한타 안 함? [PYTHON/파이썬]

백준 BAEKJOON 20499번 Darius님 한타 안 함? [PYTHON/파이썬] (BRONZE Ⅳ) https://www.acmicpc.net/problem/20499 20499번: Darius님 한타 안 함? 그가 「진짜」이면 gosu, 「가짜」이면 hasu를 출력한다. www.acmicpc.net 주어진 K/D/A에 조건을 대입하여 다리우스가 진짜인지 가짜인지 판별해주면 된다. Kill, Death, Assist K, D, A = map(int, input().split("/")) if K + A < D or D == 0: print("hasu") else: print("gosu")

백준 BAEKJOON 11006번 남욱이의 닭장 [PYTHON/파이썬]

백준 BAEKJOON 11006번 남욱이의 닭장 [PYTHON/파이썬] (BRONZE Ⅲ) https://www.acmicpc.net/problem/11006 11006번: 남욱이의 닭장 계란집을 운영하는 남욱이는 매일 닭장에서 달걀을 수거해간다. 어느 날 닭장에 들어가보니 일부 닭의 다리가 하나씩 사라졌다. 남욱이는 얼마나 많은 닭들이 한 다리를 잃었는지 알고싶었 www.acmicpc.net 닭의 다리는 2개이니 모든 닭의 수에 곱하기 2를 해준 값에 모든 닭의 다리 수를 빼주면 다리가 잘린 닭의 수를 알 수 있다. 그리고 모든 닭의 수에서 다리가 잘린 닭을 빼주면 멀쩡한 닭의 수를 구할 수 있다. T = int(input()) for i in range(T): N, M = map(int, input(..

백준 BAEKJOON 31472번 갈래의 색종이 자르기 [PYTHON/파이썬]

백준 BAEKJOON 31472번 갈래의 색종이 자르기 [PYTHON/파이썬] (BRONZE Ⅲ) https://www.acmicpc.net/problem/31472 31472번: 갈래의 색종이 자르기 첫 번째 줄에 정수 $W$가 주어진다. ($2 \le W \le 20\,000$, $W$는 짝수) 항상 답이 존재하는 경우만 입력으로 주어진다. www.acmicpc.net 분홍색으로 색칠된 부분이 문제에서 주어진 색종이 절반의 넓이인 W이다. 사각형의 한 변이 a라고 했을 때 W를 구하는 식은 아래와 같다. 우리는 W의 값을 아는 상태이니 a를 구해야 한다. 위의 식을 아래와 같이 변환해 보자! 루트는 2분의 1의 제곱이다. 정사각혀의 둘레를 구해야 하니 a * 4를 출력해 주면 된다. W = int(i..

반응형