PS (Program Solving)(375)
-
[백준 BOJ] 19944번 뉴비의 기준은 뭘까? (C언어)
문제 설명 https://www.acmicpc.net/problem/19944 19944번: 뉴비의 기준은 뭘까? 2020 INPC는 IGRUS 뉴비들을 위해 열리는 대회입니다. 하지만 영수 할아버지나 인용 할아버지와 같이 14학번이지만 마음만은 뉴비인 어르신들 때문에 대회장이 TLE들의 파티가 되자 뉴비의 기준을 정 www.acmicpc.net 접근 방법 - 조건문을 이용한 기본 문제 백준의 19944번 문제는 조건문을 이용하여 해결해야 하는 문제이다. 해당 문제는, 입력받은 두 숫자에 대하여 특정 규칙에 따른 각 정답을 출력해야 하는 문제이다. 조건문인 if문에 대해서만 잘 알고 있다면 문제의 흐름에 따라서 쉽게 해결할 수 있는 문제이다. 필자는 아래처럼 코드를 작성하여 문제를 해결하였다. 혹여나 조..
2022.02.17 -
[백준 BOJ] 18883번 N M 찍기 (C언어)
문제 설명 https://www.acmicpc.net/problem/18883 18883번: N M 찍기 총 N개의 줄을 출력해야 한다. 각 줄에는 M개의 정수를 공백 한 칸으로 구분해 출력해야 한다. 1번 줄에는 1부터 M까지, 2번 줄에는 M+1부터 2×M까지, ..., N번 줄에는 (N-1)×M+1부터 N×M까지 출력해야 www.acmicpc.net 접근 방법 - 수학적 사고력을 필요로 하는 문제 백준의 18883번 문제는 수학적 사고력을 이용하여 해결해야 하는 문제이다. 해당 문제는, 입력받은 n과 m에 대해서, 1부터 n*m까지의 숫자를 m*n 형태로 출력해야 하는 문제이다. 필자는 숫자를 출력하는 데에 사용하는 변수를 따로 하나 선언해두고 연산을 시작하였다. 필자는 아래의 순서대로 코드를 작성..
2022.02.14 -
[백준 BOJ] 15552번 빠른 A+B (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/15552 15552번: 빠른 A+B 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다. www.acmicpc.net 접근 방법 - 빠른 입출력을 위한 팁을 알려주는 문제 백준의 15552번 문제는 빠른 입출력을 위한 명령문을 알려주는 문제이다. 해당 문제에선 C++, Java, Python 등에서의 빠른 입출력을 위한 구문을 안내하고 있다. 필자의 경우엔 주로 C++로 ps를 진행하기 때문에 문제 설명에 제시되어있는 C++ 구문을 사용해보았다. 필자는 아래처럼 코드를 작성하여 해당 문제를 해결하였다. ps를 할 때 시..
2022.02.14 -
[백준 BOJ] 11866번 요세푸스 문제 0 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/11866 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net 접근 방법 - 큐를 이용한 연산 문제 백준의 11866번 문제는 큐를 이용하여 해결해야 하는 수학적 사고력 문제이다. 해당 문제는, n개의 숫자에 대해 a번째 숫자를 순차적으로 제거하면서, 요세푸스 순열을 만들어야 하는 문제이다. (문제에 대한 자세한 설명은 위를 참고하길 바란다.) 필자는 이 문제를 해결할 때, 제거해야 할 숫자는 바로 출력하며 pop 연산을 취하게끔 하였다. 다만 아닌 경우에는 해당 숫자에 대해 다시 큐에 push 연산을 취한 뒤에 pop 연산을 취하..
2022.02.13 -
[백준 BOJ] 11720번 숫자의 합 (C언어)
문제 설명 https://www.acmicpc.net/problem/11720 11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net 접근 방법 - 문자열과 아스키코드를 이용한 수학 문제 백준의 11720번 문제는 문자열과 아스키코드를 이용하여 해결해야 하는 수학 문제이다. 해당 문제는, 공백 없이 입력받은 숫자들에 대한 덧셈 결과를 출력해야 하는 문제이다. 여기서, 해당 문제의 입력값들 사이에는 공백이 없기 때문에 정수형보단 문자형으로 입력받는 것이 더 좋다. 그렇기 때문에 한 문자씩 입력을 받고 각 문자의 아스키코드 값을 이용해 덧셈 연산을 취해 해답을 구하면 된다. 참고로, 0~9의 아스키코드 ..
2022.02.13 -
[백준 BOJ] 11654번 아스키 코드 (C언어)
문제 설명 https://www.acmicpc.net/problem/11654 11654번: 아스키 코드 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. www.acmicpc.net 접근 방법 - 아스키코드 사용의 기본 문제 백준의 11654번 문제는 아스키코드에 대한 매우 기초적인 문제이다. 해당 문제는, 입력받은 문자에 대한 아스키코드 값을 출력해야 하는 문제이다. 포털 사이트에 검색하면 아스키코드 표를 쉽게 찾을 수 있을 것이다. 혹시나 이에 관한 지식이 없다면, 아스키코드 표와 아래의 코드를 함께 참고해보길 바란다. 필자는 아래처럼 코드를 작성하여 문제를 해결하였다. (여기서, 각 대소문자 알파벳은 모두 아스키코드 값을 가..
2022.02.13