본문 바로가기

전체 글

(45)
[백준] 14891. 구현_톱니바퀴 - Python 문제 총 8개의 톱니를 가지고 있는 톱니바퀴 4개가 아래 그림과 같이 일렬로 놓여져 있다. 또, 톱니는 N극 또는 S극 중 하나를 나타내고 있다. 톱니바퀴에는 번호가 매겨져 있는데, 가장 왼쪽 톱니바퀴가 1번, 그 오른쪽은 2번, 그 오른쪽은 3번, 가장 오른쪽 톱니바퀴는 4번이다. 톱니바퀴를 회전시키려면, 회전시킬 톱니바퀴와 회전시킬 방향을 결정해야 한다. 톱니바퀴가 회전할 때, 서로 맞닿은 극에 따라서 옆에 있는 톱니바퀴를 회전시킬 수도 있고, 회전시키지 않을 수도 있다. 톱니바퀴 A를 회전할 때, 그 옆에 있는 톱니바퀴 B와 서로 맞닿은 톱니의 극이 다르다면, B는 A가 회전한 방향과 반대방향으로 회전하게 된다. 예를 들어, 아래와 같은 경우를 살펴보자. 두 톱니바퀴의 맞닿은 부분은 초록색 점선으로..
[백준] 1475. 구현_방번호 - Python 문제 다솜이는 은진이의 옆집에 새로 이사왔다. 다솜이는 자기 방 번호를 예쁜 플라스틱 숫자로 문에 붙이려고 한다. 다솜이의 옆집에서는 플라스틱 숫자를 한 세트로 판다. 한 세트에는 0번부터 9번까지 숫자가 하나씩 들어있다. 다솜이의 방 번호가 주어졌을 때, 필요한 세트의 개수의 최솟값을 출력하시오. (6은 9를 뒤집어서 이용할 수 있고, 9는 6을 뒤집어서 이용할 수 있다.) ★ 잠깐! 풀기 전에 생각하기 계속 반복해야 하니까 재귀함수를 써야 하나...? 그런데 익숙하지가 않다.. 그림도 안그려진다..6, 9일 경우가 문제고 나머지는 구현하기 쉬우니 6, 9일경우만 따로 나누어서 생각하면 될 것 같다. 일단 해봤다. import sys input = sys.stdin.readline n = list(ma..
[포켓몬스터] 객체 지향 연습하기 포켓몬의 다음과 같은 기능을 클래스를 통해 만드세요 클래스 이름: PocketMon 인스턴스 변수: hp(default 100) level(default 1) 인스턴스 메소드: sleep: 휴식, hp 풀 충전됨 body_attack: 다른 포켓몬에게 몸통박치기 내 level * 10 만큼 상대방의 hp가 깎임 상대방의 피가 0이 되면 내 레벨이 1 증가(hp가 0미만이 되진 않게 하세요) ★ 잠깐! 풀기 전에 생각하기 이건 재미있어서 해보고 싶었다. 추억 회상 겸 부족하지만 배운 내용으로 만들어 낼 수 있을까? class PocketMon: # 포켓몬 도감을 만들어 줬다. 생성된 포켓몬 리스트 pocketmon = [] # 이름, hp, 레벨을 속성으로 가져온다. def __init__(self, na..
[백준] 7568. 구현_덩치 - Python 문제 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩치가 각각 (x, y), (p, q)라고 할 때 x > p 그리고 y > q 이라면 우리는 A의 덩치가 B의 덩치보다 "더 크다"고 말한다. 예를 들어 어떤 A, B 두 사람의 덩치가 각각 (56, 177), (45, 165) 라고 한다면 A의 덩치가 B보다 큰 셈이 된다. 그런데 서로 다른 덩치끼리 크기를 정할 수 없는 경우도 있다. 예를 들어 두 사람 C와 D의 덩치가 각각 (45, 181), (55, 173)이라면 몸무게는 D가 C보다 더 무겁고, 키는 C가 더 크므로, "덩치"로만 볼..
[백준] 1316. 구현_그룹단어체커 - Python 문제 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때문에 그룹 단어이지만, aabbbccb는 b가 떨어져서 나타나기 때문에 그룹 단어가 아니다. 단어 N개를 입력으로 받아 그룹 단어의 개수를 출력하는 프로그램을 작성하시오. ★ 잠깐! 풀기 전에 생각하기 연속되어 나오는 문자는 허락되고, 연속되지 않고 다시 나타나는 문자는 허락되지 않는다. 이 부분에 대한 설정을 해주는 것이 중요하다. 인덱스[-1]을 활용할 것! import sys input = sys.stdin.readline # 전체 cases는 100보다 작거나 같은 자연수이다..