백준(342)
-
[백준 BOJ] 2857번 FBI (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/2857 2857번: FBI 5개 줄에 요원의 첩보원명이 주어진다. 첩보원명은 알파벳 대문자, 숫자 0~9, 대시 (-)로만 이루어져 있으며, 최대 10글자이다. www.acmicpc.net 접근 방법 - 문자열 연산의 응용문제 백준의 2857번 문제는 문자열 연산에 있어 다소 심화적인 부분을 다루고 있는 문제이다. 해당 문제는, 입력받은 5명의 이름들 중 FBI 요원의 각 인덱스를 구하여 출력해야 하는 문제이다. FBI 요원의 이름에 "FBI"라는 단어가 포함되어있다는 조건을 감안하면, 각 입력값에 이를 포함하는지를 확인하며 답을 구하면 될 것이다. 필자와 같은 경우에는 find() 함수를 주로 이용하여 이 문제를 해결해보았다. 자세한..
2022.11.22 -
[백준 BOJ] 11365번 !밀비 급일 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/11365 11365번: !밀비 급일 당신은 길을 가다가 이상한 쪽지를 발견했다. 그 쪽지에는 암호가 적혀 있었는데, 똑똑한 당신은 암호가 뒤집으면 해독된다는 것을 발견했다. 이 암호를 해독하는 프로그램을 작성하시오. www.acmicpc.net 접근 방법 - 문자열 연산의 기초 문제 백준의 11365번 문제는 문자열 연산에 있어 기본적인 원리를 다루고 있는 문제이다. 해당 문제는, 입력받은 문자열의 문자 순서를 뒤집어 출력해야 하는 문제이다. 이는, 반복문을 이용한 문자열 연산만 어느 정도 할 수 있다면 쉽게 풀 수 있는 문제일 것으로 예상된다. 다만, "END"를 입력받을 때까지 연산을 계속 수행하여야 하기 때문에 무한 반복문을 통해..
2022.11.21 -
[백준 BOJ] 9656번 돌 게임 2 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/9656 9656번: 돌 게임 2 상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다. www.acmicpc.net 접근 방법 - 게임 이론의 기초 문제 백준의 9656번 문제는 간단한 게임 이론의 원리를 이용하여 해결해야 하는 기초 문제이다. 해당 문제는, 주어진 규칙대로 게임을 진행했을 시 이기는 사람을 출력해야 하는 문제이다. 이 문제는 dp나 게임 이론을 통해 해결할 수 있는데, 필자는 게임 이론을 통해 해결해보았다. (게임 이론에 대한 설명은 추후에 자세한 내용을 가지고 글을 작성해보고자 한다.) 게임의 규칙만 살짝 다르고 유형 자체는 매우 흡사한 문제에 대해, 필자가 작성한 글의 링크를 아래에 기재해놓았다...
2022.11.21 -
[백준 BOJ] 2559번 수열 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/2559 2559번: 수열 첫째 줄에는 두 개의 정수 N과 K가 한 개의 공백을 사이에 두고 순서대로 주어진다. 첫 번째 정수 N은 온도를 측정한 전체 날짜의 수이다. N은 2 이상 100,000 이하이다. 두 번째 정수 K는 합을 구하기 www.acmicpc.net 접근 방법 - 두 포인터의 응용문제 백준의 2559번 문제는 두 포인터의 원리를 이용하여 해결해야 하는 문제이다. 해당 문제는, 입력받은 수열에 대하여 정해진 크기의 특정 연속된 구간의 합이 가장 큰 경우를 찾아 출력해야 하는 문제이다. 우선 설명하기에 앞서, 필자는 두 포인터의 개념만 알고 기술하는 내용들임을 미리 밝히고자 한다. 구간의 크기가 입력값으로 정해지며 그중 최..
2022.11.08 -
[백준 BOJ] 11586번 지영 공주님의 마법 거울 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/11586 11586번: 지영 공주님의 마법 거울 천나라 민호성의 지영 공주님은 매우 아름답다. 공주님 자신도 이 세상 그 누구보다 자신이 아름답다는 것을 알고 있다. 공주님은 자신의 아름다움이 세월의 저편으로 사라지는 것을 매우 두려 www.acmicpc.net 접근 방법 - 문자열 연산의 기본 문제 백준의 11586번 문제는 문자열 연산에 있어 기본적인 원리를 다루고 있는 문제이다. 해당 문제는, 문제에 나오는 거울의 기분에 따라 거울에 비치는 모습을 임의로 변경하여 출력해야 하는 문제이다. 문제에 따르면, 아래처럼 출력을 수행해야 한다. 거울의 기분이 1일 때, 그대로 출력 거울의 기분이 2일 때, 좌우 반전하여 출력 거울의 기분이..
2022.11.08 -
[백준 BOJ] 3613번 Java vs C++ (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/3613 3613번: Java vs C++ Java 예찬론자 김동규와 C++ 옹호가 김동혁은 서로 어떤 프로그래밍 언어가 최고인지 몇 시간동안 토론을 하곤 했다. 동규는 Java가 명확하고 에러가 적은 프로그램을 만든다고 주장했고, 동혁이는 www.acmicpc.net 접근 방법 - 문자열 연산의 심화 문제 백준의 3613번 문제는 문자열 연산에 있어 심화적인 부분을 다루고 있는 문제이다. 해당 문제는, 입력받은 변수명이 java 형식인지 cpp 형식인지 알아내고 이를 반대 형식으로 바꾸어 출력해야 하는 문제이다. 필자가 개인적으로 느끼기엔, 형식을 바꾸어 출력하는 건 생각보다 쉬웠지만 형식을 알아내는 과정이 꽤 힘들었다. 생각해야 할 ..
2022.11.07