Tiny Bunny
본문 바로가기
[BOJ #14553] 팰린드롬 게임 문제상윤이와 승우는 통산전적 1000전 500승 500패, 영혼의 라이벌이다.이들 중 누가 더 게임을 잘하는지 구별하기 위해 마지막 게임 한 판을 하기로 했다. 게임의 룰은 다음과 같다.  N개의 돌이 쌓여있는 돌 무더기에서 게임을 진행한다.  상윤이가 게임을 먼저 시작한다. 그 후에 승우, 상윤이 번갈아가면서 게임을 진행한다.자신의 차례가 오면, 돌 무더기에서 돌을 x개 가져오는 행동을 할 수 있다. 이 때, x는 팰린드롬 수여야 한다. 자신의 차례에 가져올 돌이 없다면 그 사람은 패배한다.팰린드롬 수란 3, 11, 929 와 같이 뒤집어도 같은 수가 나오는 양의 정수를 의미한다. 010 와 같이 의미 없는 0이 앞에 있는 경우는 포함하지 않는다. 상윤이와 승우 모두 1000판의 게임을 해온 고수들이라.. 2024. 4. 30.
[BOJ #1764] 듣보잡 문제김진영이 듣도 못한 사람의 명단과, 보도 못한 사람의 명단이 주어질 때, 듣도 보도 못한 사람의 명단을 구하는 프로그램을 작성하시오. 입력첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. 이름은 띄어쓰기 없이 알파벳 소문자로만 이루어지며, 그 길이는 20 이하이다. N, M은 500,000 이하의 자연수이다.듣도 못한 사람의 명단에는 중복되는 이름이 없으며, 보도 못한 사람의 명단도 마찬가지이다. 출력듣보잡의 수와 그 명단을 사전순으로 출력한다. 내가 쓴 코드 1 (틀림)from sys import stdin; input = stdin.readlineN.. 2024. 4. 30.
[BOJ #17390] 이건 꼭 풀어야 해! 문제 숭실골 높은 언덕 깊은 골짜기에 출제로 고통 받는 욱제가 살고 있다! 욱제는 또 출제를 해야 해서 단단히 화가 났다. 그래서 욱제는 길이 N짜리 수열 A를 만들고, A를 비내림차순으로 정렬해서 수열 B를 만들어 버렸다!! 여기서 B를 출력하기만 하면 문제가 너무 쉬우니까 하나만 더 하자. 아래와 같은 질문이 무려 Q개나 주어진다!! (ㅎㅎ;; ㅈㅅ.. ㅋㅋ!!) L R: BL + BL+1 + ... + BR-1 + BR 을 출력한다. Figure 1. 모든 참가자가 문제를 풀 수 있을 것이라고 기대하는 욱제의 표정 욱제의 질문에 답하고 함께 엠티를 떠나자!! 입력 첫 번째 줄에 수열 A의 길이 N과 질문의 개수 Q가 공백으로 구분되어 주어진다. (1 ≤ N, Q ≤ 300,000) 두 번째 줄에 N.. 2024. 4. 23.
[BOJ #1026] 보물 문제 옛날 옛적에 수학이 항상 큰 골칫거리였던 나라가 있었다. 이 나라의 국왕 김지민은 다음과 같은 문제를 내고 큰 상금을 걸었다. 길이가 N인 정수 배열 A와 B가 있다. 다음과 같이 함수 S를 정의하자. S = A[0] × B[0] + ... + A[N-1] × B[N-1] S의 값을 가장 작게 만들기 위해 A의 수를 재배열하자. 단, B에 있는 수는 재배열하면 안 된다. S의 최솟값을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거나 같은 음이 아닌 정수이다. 출력 첫째 줄에 S의 최솟값을 출력한다. 내가.. 2024. 4. 23.
[BOJ #9625] BABBA 문제 상근이는 길을 걷다가 신기한 기계를 발견했다. 기계는 매우 매우 큰 화면과 버튼 하나로 이루어져 있다. 기계를 발견했을 때, 화면에는 A만 표시되어져 있었다. 버튼을 누르니 글자가 B로 변했다. 한 번 더 누르니 BA로 바뀌고, 그 다음에는 BAB, 그리고 BABBA로 바뀌었다. 상근이는 화면의 모든 B는 BA로 바뀌고, A는 B로 바뀐다는 사실을 알게되었다. 버튼을 K번 눌렀을 때, 화면에 A와 B의 개수는 몇 개가 될까? 입력 첫째 줄에 K (1 ≤ K ≤ 45)가 주어진다. 출력 첫째 줄에 A의 개수와 B의 개수를 공백으로 구분해 출력한다. 내가 쓴 코드 1 (틀림-시간초과) K = int(input()) # B -> BA, A -> B word = 'A' while K: new = [] fo.. 2024. 4. 18.
[BOJ #6198] 옥상 정원 꾸미기 문제 도시에는 N개의 빌딩이 있다. 빌딩 관리인들은 매우 성실 하기 때문에, 다른 빌딩의 옥상 정원을 벤치마킹 하고 싶어한다. i번째 빌딩의 키가 hi이고, 모든 빌딩은 일렬로 서 있고 오른쪽으로만 볼 수 있다. i번째 빌딩 관리인이 볼 수 있는 다른 빌딩의 옥상 정원은 i+1, i+2, .... , N이다. 그런데 자신이 위치한 빌딩보다 높거나 같은 빌딩이 있으면 그 다음에 있는 모든 빌딩의 옥상은 보지 못한다. 예) N=6, H = {10, 3, 7, 4, 12, 2}인 경우 = = = = - = = = = -> 관리인이 보는 방향 = - = = = = = = = = = 10 3 7 4 12 2 -> 빌딩의 높이 [1][2][3][4][5][6] -> 빌딩의 번호 1번 관리인은 2, 3, 4번 빌딩의.. 2024. 4. 17.
[BOJ #30892] 상어 키우기 문제 인천대학교의 앞바다에는 N마리의 상어가 살고 있다고 한다. 각각의 상어는 서로 같거나 다른 크기의 몸집 A_i를 가지고 있다. 상어의 세계는 완전한 약육강식의 세계로, 상어 자신의 크기보다 작은 상어는 전부 먹을 수 있다. 이때, 상어의 크기는 잡아먹힌 상어의 크기만큼 커지게 된다. 반면, 자신의 크기 이상인 상어는 전혀 잡아먹지 못한다. 어느 날 크기가 T인 샼이라는 이름의 아기 상어는 인천대학교 앞바다에 존재하는 N마리 상어들의 크기 정보를 모두 입수했다. 똑똑한 아기 상어 샼은 인천대학교 앞바다에 있는 상어들을 최대 K마리까지 적절한 순서로 잡아먹고, 자신의 몸집을 최대로 키울 계획을 하고 있다. 샼이 최선의 선택으로 최대 K마리의 상어를 적절한 순서로 잡아먹었을 때, 몸집이 최대 얼마까지 커.. 2024. 4. 16.
[BOJ #10994] 별 찍기 - 19 문제 예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. 입력 첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다. 출력 첫째 줄부터 차례대로 별을 출력한다. 예제 입력 1 1 예제 출력 1 * 예제 입력 2 2 예제 출력 2 ***** * * * * * * * ***** 예제 입력 3 3 예제 출력 3 ********* * * * ***** * * * * * * * * * * * * * * * ***** * * * ********* 내가 쓴 코드 N = int(input()) num = 4 * (N - 1) + 1 stars = [[' '] * num for _ in range(num)] for k in range(0, num, 2): if num - k > k: for l in range(k, num -.. 2024. 4. 16.
728x90
반응형