PS (Program Solving)/BOJ (백준)(343)
-
[백준 BOJ] 9012번 괄호 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 접근 방법 - 스택을 이용한 참/거짓 판별 문제 백준의 9012번 문제는 스택을 이용하여 정답을 구해야 하는 문제이다. 해당 문제에선, 주어지는 문자열에 대해 괄호가 각각 올바르게 짝지어져 있는지에 대한 여부를 묻고 있다. 필자는 해당 문제를 해결할 때, ( 를 만나면 스택에 push, ) 를 만나면 스택의 top값을 pop 하도록 하였다. 다만 특수한 경..
2022.02.02 -
[백준 BOJ] 8958번 OX퀴즈 (C언어)
문제 설명 https://www.acmicpc.net/problem/8958 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net 접근 방법 - 누적에 따른 연산이 필요한 수학 문제 백준의 8958번 문제는 누적에 따라 덧셈을 가중하는 연산이 필요한 수학 문제이다. 해당 문제에선, O가 연달아 나오는 만큼 점수에 실시간으로 더하면서 최종 점수를 구해야 한다. 필자는 O가 연달아 나온 횟수를 따로 저장하는 변수를 이용하여 덧셈을 수행하면서 최종 답을 구하였다. 필자는 아래의 순서대로 코드를 작성하..
2022.02.02 -
[백준 BOJ] 8393번 합 (C언어)
문제 설명 https://www.acmicpc.net/problem/8393 8393번: 합 n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오. www.acmicpc.net 접근 방법 - 반복문을 이용한 기본 연산 문제 백준의 8393번 문제는 반복문의 원리를 이용하여 해결해야 하는 기본적인 수학 문제이다. 해당 문제에선, 1에서 입력받은 수 n까지 모두 합한 값을 구해야 한다. 필자는 아래의 순서대로 코드를 작성하여 문제를 해결하였다. 코드의 실행 순서 1) 1개의 숫자(n)를 입력받는다. 2) 결괏값을 저장할 sum을 0으로 초기화하면서 선언한다. 3) 반복문을 통해, 1에서부터 n까지 순차적으로 sum에 더한다. 4) 최종적으로 저장된 sum값을 출력한 뒤, 실행 종료한다. 성공한..
2022.02.02 -
[백준 BOJ] 6749번 Next in line (C언어)
문제 설명 https://www.acmicpc.net/problem/6749 6749번: Next in line You know a family with three children. Their ages form an arithmetic sequence: the difference in ages between the middle child and youngest child is the same as the difference in ages between the oldest child and the middle child. For example, their ages c www.acmicpc.net 접근 방법 - 규칙을 찾는 과정이 필요한 기본 연산 문제 백준의 6749번 문제는 수학적인 규칙을 찾아 해답을 ..
2022.02.02 -
[백준 BOJ] 5596번 시험 점수 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/5596 5596번: 시험 점수 대한고등학교에 재학 중인 민국이와 만세는 4과목(정보, 수학, 과학, 영어)에 대한 시험을 봤다. 민국이와 만세가 본 4과목의 점수를 입력하면, 민국이의 총점 S와 만세의 총점 T 중에서 큰 점수 www.acmicpc.net 접근 방법 - 기본적인 사칙연산을 요구하는 문제 백준의 5596번 문제는 기본 사칙연산을 이용하여 해결해야 하는 문제이다. 해당 문제에선, 두 학생의 각 시험 점수 총점 중 더 큰 점수를 출력해야 한다. 필자는 각 학생의 총점을 따로 계산하고 비교하여 답을 구하였다. 필자는 아래의 순서대로 코드를 작성하여 문제를 해결하였다. 코드의 실행 순서 1) 첫 번째 학생의 총점부터 계산한다. ..
2022.02.01 -
[백준 BOJ] 5338번 마이크로소프트 로고 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/5338 5338번: 마이크로소프트 로고 마이크로소프트 로고를 예제 출력처럼 출력하는 프로그램을 작성하시오. www.acmicpc.net 접근 방법 - 기본적인 출력 문제 백준의 5338번 문제는 기본적인 개행 및 문자 출력을 요구하는 문제이다. 해당 문제에선, 예시 출력에 나와있는 대로 마이크로소프트 로고를 출력해야 한다. 일부 특수 문자 같은 경우엔 출력할 시에 다소 다르게 작성해야 하지만, 해당 문제에선 그러한 특수 문자는 없다. 따라서, 적절한 개행과 출력문을 올바르게 작성하면 쉽게 풀 수 있는 문제이다. 필자는 아래처럼 코드를 작성하였다. 성공한 코드 #define _CRT_SECURE_NO_WARNINGS #pragma war..
2022.02.01