PS (Program Solving)(375)
-
[백준 BOJ] 1316번 그룹 단어 체커 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 접근 방법 - 아스키코드를 이용한 연산 문제 백준의 1316번 문제는 아스키코드를 이용한 연산이 필요한 문제이다. 해당 문제는, 동일한 알파벳이 흩어져있지 않고 이른바 알파벳들이 연속해서 나타나는 "그룹 단어"를 판별해야 하는 문제이다. 필자의 경우에는 배열을 통해 알파벳의 빈도를 카운팅하면서 특정 조건을 만족하지 않을 경우 그룹 단어가 아님을 판별하는 ..
2022.05.09 -
[백준 BOJ] 18679번 Banana (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/18679 18679번: Banana The first line of input will contain a single integer N, the number of words in the dictionary (1 ≤ N ≤ 100). The following N lines will each contain a sentence of the format x = y where x is an English word and y is a Minionese word. The next line wil www.acmicpc.net 접근 방법 - 문자열과 배열 사용의 응용문제 백준의 18679번 문제는 문자열과 배열을 응용하여 해결해야 하는 문제이다. 해당..
2022.05.09 -
[백준 BOJ] 15733번 나는 누구인가 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/15733 15733번: 나는 누구인가 당신은 지금 코딩을 하고있다. 그럼 당신은 어떤 사람인가. www.acmicpc.net 접근 방법 - 기본적인 입출력 문제 백준의 15733번 문제는 기본적인 출력문을 작성하여 해결해야 하는 문제이다. 해당 문제는, 문제에 제시된 문자열을 그대로 출력해야 하는 문제이다. 그렇기 때문에, 이 문제는 개인이 사용하는 언어의 기본적인 문법만 잘 인지하고 있다면 아주 쉽게 풀 수 있는 문제이다. 필자의 경우엔 cpp를 사용하여 출력문을 작성하였다. 입출력의 문법에 대해 아직 생소하다면, 아래의 코드를 참고해보길 바란다. 필자는 아래처럼 코드를 작성하여 문제를 해결하였다. 성공한 코드 #define _CRT..
2022.05.08 -
[백준 BOJ] 4562번 No Brainer (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/4562 4562번: No Brainer For each data set, there will be exactly one line of output. This line will be "MMM BRAINS" if the number of brains the zombie eats is greater than or equal to the number of brains the zombie requires to stay alive. Otherwise, the line will be "NO BRAINS". www.acmicpc.net 접근 방법 - 기본적인 논리 연산 문제 백준의 4562번 문제는 단순 크기 비교를 다루고 있는 논리적 연산 문제이다..
2022.05.08 -
[백준 BOJ] 5618번 공약수 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/5618 5618번: 공약수 첫째 줄에 n이 주어진다. n은 2 또는 3이다. 둘째 줄에는 공약수를 구해야 하는 자연수 n개가 주어진다. 모든 자연수는 108 이하이다. www.acmicpc.net 접근 방법 - 수학적 개념에 대한 연산 문제 백준의 5618번 문제는 공약수라는 수학적 기본 개념에 대해 묻고 있는 연산 문제이다. 해당 문제는, 2개 또는 3개의 입력값들에 대한 공약수들을 오름차순으로 출력해야 하는 문제이다. 여기서 공약수란, 주어진 정수들에 있어 공통되는 약수를 뜻한다. 따라서 주어진 입력값들에 대해 나누어 떨어지는 수들을 순차적으로 구할 수 있다면, 어렵지 않게 풀 수 있는 문제인 것이다. 해당 문제를 해결하는 데에 어..
2022.05.07 -
[백준 BOJ] 11170번 0의 개수 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/11170 11170번: 0의 개수 N부터 M까지의 수들을 종이에 적었을 때 종이에 적힌 0들을 세는 프로그램을 작성하라. 예를 들어, N, M이 각각 0, 10일 때 0을 세면 0에 하나, 10에 하나가 있으므로 답은 2이다. www.acmicpc.net 접근 방법 - 브루트포스 알고리즘을 이용한 수학 문제 백준의 11170번 문제는 브루트포스 알고리즘을 활용하여 해결해야 하는 수학적 사고력 문제이다. 해당 문제는, 각 테스트 케이스의 입력값 범위 속 숫자들에 대해 출현하는 0의 개수를 출력해야 하는 문제이다. 브루트포스 알고리즘이란 모든 경우의 수를 감안하여 해답을 얻어내는 알고리즘을 뜻한다. 이 개념이 어색하다면, 해당 블로그에 브..
2022.05.06