cpp(303)
-
[백준 BOJ] 14467번 소가 길을 건너간 이유 1 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/14467 14467번: 소가 길을 건너간 이유 1 3번 소는 위치 1, 0, 1에서 관찰되었으므로 길을 최소 두 번 건넜음을 확인할 수 있다. 4번 소도 길을 한 번 건넜으며, 나머지 소는 길을 건넌 기록이 확인되지 않는다. www.acmicpc.net 접근 방법 - 배열을 이용한 연산 문제 백준의 14467번 문제는 배열의 원리를 이용하여 해결할 수 있는 문제이다. 해당 문제는, 입력으로 주어지는 소의 번호와 위치를 통해 소들이 길을 건넌 총 횟수를 구하여 출력해야 하는 문제이다. 단순 구현 문제라 다양한 방법이 있겠지만, 필자의 경우엔 배열을 이용해서 길을 건넜는지에 대한 여부를 살폈다. 이때, 배열의 인덱스는 소의 번호이며 배열값..
2022.11.01 -
[백준 BOJ] 17295번 엔드게임 스포일러 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/17295 17295번: 엔드게임 스포일러 《어벤져스: 엔드게임》(영어: Avengers: Endgame)은 2019년 개봉한 미국의 슈퍼히어로 영화로, 마블 코믹스의 동명 팀을 원작으로 하고 있으며, 마블 스튜디오가 제작하고, 월트 디즈니 스튜디오 www.acmicpc.net 접근 방법 - 기본적인 입출력 응용문제 백준의 17295번 문제는 기본적인 입출력을 수행하여 해결할 수 있는 문제이다. 해당 문제는, 예제 입출력에 나온 대로 입력을 받은 뒤 정답을 출력하여 해결해야 하는 문제이다. 입출력이 각각 딱 하나로 결정되어있기 때문에, 단순 입출력문을 코드로 작성하여 해결하면 되는 문제이다. 따라서, 각자 사용하는 언어의 기본적인 문법만..
2022.10.31 -
[백준 BOJ] 5532번 방학 숙제 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/5532 5532번: 방학 숙제 한 줄에 하나씩 총 다섯 줄에 걸쳐 L, A, B, C, D가 주어진다. (2 ≤ L ≤ 40, 1 ≤ A, B ≤ 1000, 1 ≤ C, D ≤ 100) 항상 방학 숙제를 방학 기간내에 다 할 수 있는 경우만 입력으로 주어진다. www.acmicpc.net 접근 방법 - 사칙연산에 대한 기본 문제 백준의 5532번 문제는 사칙연산을 이용하여 해결할 수 있는 간단한 문제이다. 해당 문제는, 상근이가 방학기간 동안 주어진 방학 숙제를 다 하고 놀 수 있는 최댓값을 구하여 출력해야 하는 문제이다. 문제의 설명을 보면, 방학 숙제를 하는 기간을 최솟값으로 잡고 연산해야 한다. 입력값으로는 방학 숙제의 양과 상근..
2022.10.31 -
[백준 BOJ] 2161번 카드1 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/2161 2161번: 카드1 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 접근 방법 - 큐를 이용한 연산 문제 백준의 2161번 문제는 큐를 이용한 연산을 통해 해결해야 하는 문제이다. 해당 문제는, 특정 규칙에 따라 카드 위치를 변경하면서 버려지는 카드 번호를 순차적으로 출력해야 하는 문제이다. 이때 카드 위치를 변경하는 규칙은 아래와 같다. 1. 제일 위에 있는 카드를 버린다. 2. 그다음, 위에 있는 카드를 제일 아래로 옮긴다. (이 순서를 반복한다.)..
2022.10.27 -
[백준 BOJ] 1312번 소수 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/1312. 1312번: 소수 피제수(분자) A와 제수(분모) B가 있다. 두 수를 나누었을 때, 소숫점 아래 N번째 자리수를 구하려고 한다. 예를 들어, A=3, B=4, N=1이라면, A÷B=0.75 이므로 출력 값은 7이 된다. www.acmicpc.net 접근 방법 - 수학적 사고력을 필요로 하는 연산 문제 백준의 1312번 문제는 수학적 사고력을 이용하여 해결해야 하는 응용문제이다. 해당 문제는, 두 숫자에 대하여 나눗셈을 수행했을 시 특정 소수점에 위치하는 숫자를 구하여 출력해야 하는 문제이다. 필자는 처음엔, 특정 소수점에 있는 숫자를 일의 자리로 꺼내는 것만 생각하였다가 오버플로우가 발생하였었다. 이 과정을 해결하면서, 필요..
2022.10.27 -
[백준 BOJ] 9655번 돌 게임 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/9655 9655번: 돌 게임 상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다. www.acmicpc.net 접근 방법 - 게임 이론의 기초 문제 백준의 9655번 문제는 간단한 게임 이론의 원리를 이용하여 해결해야 하는 기초 문제이다. 해당 문제는, 주어진 규칙대로 게임을 진행했을 시 이기는 사람을 출력해야 하는 문제이다. 이 문제는 DP로 해결하는 방법도 있지만, 필자는 게임 이론을 이용하여 해결해보았다. (게임 이론에 대한 설명은 추후에 자세한 내용을 가지고 글을 작성해보고자 한다.) 혹여나 해당 문제를 해결하는 데에 어려움을 겪고 있다면 아래의 설명과 코드를 참고해보길 바란다. 아래에, 필자가 게임 이론에 ..
2022.10.27