PS (Program Solving)(375)
-
[백준 BOJ] 1157번 단어 공부 (C언어)
문제 설명 https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 접근 방법 - 아스키코드 이용한 문자열 연산 문제 백준의 1157번 문제는 전형적인 아스키코드 문제이다. 다만 난이도가 그렇게 낮은 문제는 아닌 듯해 보인다. (문제 풀기에 앞서 아스키코드 값으로 A는 65, a는 97이란 걸 알아두자.) 필자는 해당 문제를 해결할 때, 각 26개의 알파벳 발생 빈도수를 따로 저장하는 배열을 별도로 선언하였다. 그리고 아래의 순서대로 코딩을 작성하였다. 아스키코드에 익숙하지 않다면 아래..
2022.01.07 -
[백준 BOJ] 1152번 단어의 개수 (C언어)
문제 설명 https://www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열 www.acmicpc.net 접근 방법 - 어절을 나누는 규칙 찾기 백준의 1152번 문제는 문자열에 있어서 어절의 개수를 찾는 문제였다. 단순 문자열에 대한 연산 문제였던 것이다. 이 문제에선 3가지의 예제가 주어지는데 이를 자세히 봐야 할 필요가 있다. 첫 번째 문자열은 평범하지만, 두 번째 문자열엔 맨 앞에 공백이 있으며 세 번째 문자열엔 맨 뒤에 공백이 있기 때문이다. 따라서 이 문제를 풀 때엔 예제 ..
2022.01.06 -
[백준 BOJ] 1100번 하얀 칸 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/1100 1100번: 하얀 칸 체스판은 8×8크기이고, 검정 칸과 하얀 칸이 번갈아가면서 색칠되어 있다. 가장 왼쪽 위칸 (0,0)은 하얀색이다. 체스판의 상태가 주어졌을 때, 하얀 칸 위에 말이 몇 개 있는지 출력하는 프로그램 www.acmicpc.net (자세한 예제는 사이트를 통해서 확인해보시길) 접근 방법 - 문자형을 이용한 수학적 사고 문제 백준의 1100번 문제는 수학적 사고력을 요구하는 문제이지만 이번엔 char형, 즉 문자형을 주로 다루는 문제였다. 문제에 나와있는 "체스판"이라는 것은 검은색 칸과 하얀색 칸이 번갈아서 배치된 판이다. 필자는 이러한 규칙적인 배치를 이용해, 문자열 배열을 통하여 문제를 해결하였다. 필자는 ..
2022.01.05 -
[백준 BOJ] 1085번 직사각형에서 탈출 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/1085 1085번: 직사각형에서 탈출 한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램 www.acmicpc.net 접근 방법 - 간단한 수학적 사고 문제 백준의 1085번 문제 또한 단순 수학적 사고력을 요구하는 문제인 것으로 보인다. 필자는 아래의 순서대로 연산을 진행하며 코드를 작성하였다. 코드의 실행 순서 1) 각 자연수 4개 입력받기 (임의의 점의 좌표와 (0,0)과 직사각형을 이루는 점의 좌표) 2) 가로선 / 세로선 상에서의, 임의의 점과 직사각형 경계선과의 최소 거리..
2022.01.05 -
[백준 BOJ] 1075번 나누기 (C언어)
문제 설명 https://www.acmicpc.net/problem/1075 1075번: 나누기 첫째 줄에 N, 둘째 줄에 F가 주어진다. N은 100보다 크거나 같고, 2,000,000,000보다 작거나 같은 자연수이다. F는 100보다 작거나 같은 자연수이다. www.acmicpc.net 접근 방법 - 간단한 수학적 사고 문제 백준의 1075번 문제는 단순 수학적 사고력을 요구하는 문제인 것으로 보인다. 필자는 아래의 순서대로 연산을 진행하며 코드를 작성하였다. 코드의 실행 순서 1) 각 자연수 2개 입력받기 (n: 피제수 역할 / f: 제수 역할) 2) n에 나머지 연산자를 수행하여 십의 자릿수와 일의 자릿수를 0으로 정리한다. 3) 임의로 변수를 2개 만든 뒤, 이중 반복문과 적절한 사칙연산을 통..
2022.01.05 -
[백준 BOJ] 1012번 유기농 배추 (Java)
문제 설명 https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 접근 방법 - 깊이 우선 탐색 (DFS) 백준의 1012번 문제는 DFS 및 BFS 문제이다. 필자는 DFS로 문제를 해결하였다. 필자는 아래의 흐름대로 규칙을 설정하고 코드를 작성해보았다. 필자는 배열을 이용할 시, 아래의 규칙을 정해두고 배열의 값을 바꾸었다. 0 : 배추가 없음 1 : 배추가 있음 & 지렁이가 방문하지 않음 2 : 배추가 있음 & 지렁이가 이미 방문함 코드의 실행 순서 1) 테..
2022.01.05