전체 글 458

[BOJ/Silver 2] 백준 27497 알파벳 블록(C++)

문제 링크 https://www.acmicpc.net/problem/27497 27497번: 알파벳 블록 첫째 줄에 버튼을 누른 횟수 $N$이 주어진다. $(1 \leq N \leq 1\,000\,000)$ 둘째 줄부터 $N$개의 줄에는 버튼을 누른 순서대로 누른 버튼에 대한 정보를 주며 아래와 같은 형식으로 주어진다. 1 c : 문자열 www.acmicpc.net 문제 스타는 알파벳 블록을 일렬로 조립하여 문자열을 만드는 게임을 만들었다. 각 블록에는 문자 하나가 적혀 있으며 게임에는 각각 다음 기능을 수행하는 세 개의 버튼이 있다. 문자열 맨 뒤에 블록 추가 문자열 맨 앞에 블록 추가 문자열을 구성하는 블록 중 가장 나중에 추가된 블록 제거 게임은 처음에 빈 문자열로 시작하며 빈 문자열일 때 문자열을..

BOJ/Silver 2023.08.17

[BOJ/Silver 2] 백준 28447 마라탕 재료 고르기(Kotlin)

문제 링크 https://www.acmicpc.net/problem/28447 28447번: 마라탕 재료 고르기 재료 $1, 2, 4$를 고르면 $C_{1, 2} = 1, C_{1, 4} = 3, C_{2, 4} = 6$으로 최대인 $10$이 된다. www.acmicpc.net 문제 하얔이는 마라탕에 여러 재료를 넣어 먹는 것을 좋아한다. 하지만 마라탕에 항상 많은 재료를 넣는다고 맛있는 것은 아니다. 마라탕은 각 재료마다 궁합이 존재해서 같이 넣으면 맛있는 재료도 있고 그렇지 않은 경우도 있다. 여기서 하얔이는 고민에 빠졌다. 대체 어떻게 해야 K개의 재료를 넣었을 때 마라탕의 맛을 최대로 할 수 있는거지? C{i, j}를 재료 i와 재료 j를 같이 넣었을 때의 궁합이라 하자. 마라탕의 맛은 마라탕에 ..

BOJ/Silver 2023.08.16

[BOJ/Silver 5] 백준 28432 끝말잇기(Kotlin)

문제 링크 https://www.acmicpc.net/problem/28432 28432번: 끝말잇기 첫 줄에 끝말잇기 기록의 길이 $N$ 이 주어집니다. $(1 \le N \le 100)$ 둘째 줄부터 다음 $N$개의 줄에는 끝말잇기의 기록 $S_1, \cdots, S_N$이 한 줄에 하나씩 주어집니다. 여기서, 하나의 $S_i$는 “?” 로 www.acmicpc.net 문제 끝말잇기는 단어를 중복하지 않고 단어의 맨 끝 글자에 이어서 말하는 놀이입니다. 끝말잇기 기록은 단어들의 나열로 이루어집니다. 올바른 끝말잇기 기록은 각 단어의 마지막 글자가 다음 단어의 첫 글자이며, 단어가 중복되어서 나타나면 안 됩니다. 끝말잇기 기록이 주어지는데, 하나의 기록은 “?”로 가려진 채로 들어옵니다. “?”에 들어..

BOJ/Silver 2023.08.09

[BOJ/Gold 4] 백준 23835 어떤 우유의 배달목록 (Easy)(Kotlin)

문제 링크 https://www.acmicpc.net/problem/23835 23835번: 어떤 우유의 배달목록 (Easy) 이 문제는 "어떤 우유의 배달목록 (Hard)" 문제와 $N$, $Q$의 제한을 제외하고 같은 문제이다. SASA의 기숙사에는 $N$ 개의 방과 사감의 감시를 피하기 위해 만든 $N-1$개의 비밀 통로가 존재한다. 각 방 www.acmicpc.net 문제 이 문제는 "어떤 우유의 배달목록 (Hard)" 문제와 N, Q의 제한을 제외하고 같은 문제이다. SASA의 기숙사에는 N개의 방과 사감의 감시를 피하기 위해 만든 N - 1개의 비밀 통로가 존재한다. 각 방은 1번부터 N번까지의 번호가 붙어있다. 비밀 통로는 서로 다른 두 방을 양방향으로 연결하며, 임의의 두 방 사이를 비밀 ..

BOJ/Gold 2023.08.08

[BOJ/Gold 5] 백준 27896 특별한 서빙(C++)

문제 링크 https://www.acmicpc.net/problem/27896 27896번: 특별한 서빙 첫 번째 줄에 학생들이 가지 운동을 일으키지 않게 하기 위한 가지의 최소 개수를 출력한다. www.acmicpc.net 문제 ???: 가지라니, 비슷하지도 않잖아요... NLCS Jeju에서는 파묻튀(파마산을 묻혀 튀긴 소고기)를 서빙하는 것을 좋아한다. 그러나, 학생들은 파묻튀보다는 신선한 가지를 먹고 싶어한다! 급식실에 N명의 학생들이 차례로 서 있다. 줄의 앞에서부터 i번째 학생이 가지 대신 파묻튀를 받았을 경우 xi만큼 불만도가 늘어나고, 가지를 받았을 경우에는 xi만큼 불만도가 내려간다. 단, 불만도의 초깃값은 0이다. 음식을 앞에 서있는 학생부터 순서대로 서빙할 때, 어떤 한 순간이라도 불..

BOJ/Gold 2023.08.07

[BOJ/Gold 5] 백준 28270 Marked-Numbered(C++)

문제 링크 https://www.acmicpc.net/problem/28270 28270번: Marked-Numbered 코치 희승이는 FXC 나라 육상 국가대표 선발 보고서를 작성하였다. 희승이는 보고서를 작성할 때 목차를 육상협회에서 사용하는 글머리 기호 형태로 작성하였다. 희승이가 FXC 나라 문화체육관광 www.acmicpc.net 문제 코치 희승이는 FXC 나라 육상 국가대표 선발 보고서를 작성하였다. 희승이는 보고서를 작성할 때 목차를 육상협회에서 사용하는 글머리 기호 형태로 작성하였다. 희승이가 FXC 나라 문화체육관광부로 공문을 보내려고 봤더니, 문화체육관광부에서는 공문을 작성할 때 글머리 번호 형태로 작성한다. 따라서 희승이는 보고서를 글머리 번호 형태로 바꾼 사본을 만들어서 문화체육관광..

BOJ/Gold 2023.08.07

[BOJ/Gold 5] 백준 17265 나의 인생에는 수학과 함께(Kotlin)

문제 링크 https://www.acmicpc.net/problem/17265 17265번: 나의 인생에는 수학과 함께 세현이의 인생의 목표는 1분 1초 모든 순간 수학과 함께 살아가는 것이다. 그렇기 때문에 매일 수학을 생각하면서 살아가고 있다. 세현이는 밥을 먹을 때도 쌀알의 수를 계산하여 칼로리를 바로 www.acmicpc.net 문제 세현이의 인생의 목표는 1분 1초 모든 순간 수학과 함께 살아가는 것이다. 그렇기 때문에 매일 수학을 생각하면서 살아가고 있다. 세현이는 밥을 먹을 때도 쌀알의 수를 계산하여 칼로리를 바로 계산하고 한걸음 한걸음 보폭을 계산하여 자신의 활동량을 확인하며 인생의 목표를 실행하며 살아가고 있다. 그런 세현이는 매일 학교를 가면서 지나가는 길에도 수학을 적용시키고 싶었다...

BOJ/Gold 2023.08.07

[BOJ/Silver 4] 백준 27919 UDPC 파티(C++)

문제 링크 https://www.acmicpc.net/problem/27919 27919번: UDPC 파티 첫 번째 줄에 참가자가 투표한 결과 $V$가 주어진다. $V$는 U, D, P, C만 포함하는 문자열이고, 길이는 $0$보다 크고 $100\ 000$을 넘지 않는다. www.acmicpc.net 문제 윤이, 포닉스, 달구는 UDPC가 열리는 것을 기념해 한 장소에 모여 파티를 열기로 했다! 수많은 참가자와 함께 즐거운 시간을 보내던 중, 참가자들이 세 마스코트 중 누가 제일 귀여운지 토론하기 시작했다. 야, 아무리 봐도 우리 윤이가 제일 귀엽지. 앙증맞은 뿔과 매력적인 갈기 좀 봐! 그렇게 치면 우리 포닉스의 갈기는! 귀여운 날개랑 꼬리도 가지고 있지~ 어차피 우리 달구가 제일 귀엽죠? 이목구비는 ..

BOJ/Silver 2023.07.03

[BOJ/Silver 2] 백준 28286 재채점을 기다리는 중(C++)

문제 링크 https://www.acmicpc.net/problem/28286 28286번: 재채점을 기다리는 중 UCPC고등학교에 다니는 민규는 최근에 기말고사를 치게 되었다. 기말고사는 $N$문제로 이루어져 있고, 각 문제는 보기가 1 이상 5 이하의 정수로 이루어진 객관식 문제이다. 시간이 지나 학교에서 www.acmicpc.net 문제 UCPC고등학교에 다니는 민규는 최근에 기말고사를 치게 되었다. 기말고사는 N문제로 이루어져 있고, 각 문제는 보기가 1 이상 5 이하의 정수로 이루어진 객관식 문제이다. 시간이 지나 학교에서 성적표를 받은 민규는 집에서 매겨본 점수보다 훨씬 낮은 점수를 받고 깜짝 놀랐다. 알고 보니 민규는 OMR 카드에 답안을 밀려 썼던 것이다. 억울하지만 어쩔 수 없이 결과를 ..

BOJ/Silver 2023.07.02

[BOJ/Gold 4] 백준 23309 철도 공사(C++)

문제 링크 https://www.acmicpc.net/problem/23309 23309번: 철도 공사 첫 번째 줄에 공사를 시작하기 이전에 있는 역의 개수를 나타내는 양의 정수 $N$과 공사 횟수를 나타내는 양의 정수 $M$이 주어진다. ($1 \le N \le 500\,000$, $1 \le M \le 1\,500\,000$) 두 번째 줄에는 공사 www.acmicpc.net 문제 연세대학교가 위치한 신촌역이 속한 2호선은 그림과 같이 N개의 역이 원형으로 연결되어 있다. 각 역은 고유 번호가 할당돼 있으며 역들의 고유 번호는 서로 다르다. 그리고 특정 역의 다음 역은 시계 방향으로 인접한 역을 의미하고, 이전 역은 반시계 방향으로 인접한 역을 의미한다. 2호선은 지하철 노선들 중 유일한 흑자 노선이..

BOJ/Gold 2023.06.30

[BOJ/Silver 1] 백준 28280 귀납법(C++)

문제 링크 https://www.acmicpc.net/problem/28280 28280번: 귀납법 각 테스트케이스마다 한 줄에, $1$에서 시작해서 $2$배를 하거나 $1$을 빼는 행동을 최소 몇 번 반복해야 $k$를 만들 수 있는지 출력한다. 만약 $k$를 만들지 못한다면, 대신 Wrong proof!를 출력한다. www.acmicpc.net 문제 입력 첫 줄에는 테스트케이스의 개수 T가 주어진다. (1 ≤ T ≤ 20) 각 테스트케이스마다 한 줄에 양의 정수 k가 주어진다. k의 총합은 4 × 10^6을 넘지 않는다. 출력 각 테스트케이스마다 한 줄에, 1에서 시작해서 2배를 하거나 1을 빼는 행동을 최소 몇 번 반복해야 k를 만들 수 있는지 출력한다. 만약 k를 만들지 못한다면, 대신 Wrong ..

BOJ/Silver 2023.06.29

[BOJ/Gold 4] 백준 1253 좋다(C++)

문제 링크 https://www.acmicpc.net/problem/1253 1253번: 좋다 첫째 줄에는 수의 개수 N(1 ≤ N ≤ 2,000), 두 번째 줄에는 i번째 수를 나타내는 Ai가 N개 주어진다. (|Ai| ≤ 1,000,000,000, Ai는 정수) www.acmicpc.net 문제 N개의 수 중에서 어떤 수가 다른 수 두 개의 합으로 나타낼 수 있다면 그 수를 “좋다(GOOD)”고 한다. N개의 수가 주어지면 그 중에서 좋은 수의 개수는 몇 개인지 출력하라. 수의 위치가 다르면 값이 같아도 다른 수이다. 입력 첫째 줄에는 수의 개수 N(1 ≤ N ≤ 2,000), 두 번째 줄에는 i번째 수를 나타내는 Ai가 N개 주어진다. (|Ai| ≤ 1,000,000,000, Ai는 정수) 출력 좋..

BOJ/Gold 2023.06.28

[BOJ/Silver 4] 백준 28279 덱 2(C++)

문제 링크 https://www.acmicpc.net/problem/28279 28279번: 덱 2 첫째 줄에 명령의 수 N이 주어진다. (1 ≤ N ≤ 1,000,000) 둘째 줄부터 N개 줄에 명령이 하나씩 주어진다. 출력을 요구하는 명령은 하나 이상 주어진다. www.acmicpc.net 문제 정수를 저장하는 덱을 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 여덟 가지이다. 1 X: 정수 X를 덱의 앞에 넣는다. (1 ≤ X ≤ 100,000) 2 X: 정수 X를 덱의 뒤에 넣는다. (1 ≤ X ≤ 100,000) 3: 덱에 정수가 있다면 맨 앞의 정수를 빼고 출력한다. 없다면 -1을 대신 출력한다. 4: 덱에 정수가 있다면 맨 뒤의 정수를 빼고 출력한다. 없다..

BOJ/Silver 2023.06.28