본문 바로가기

백준알고리즘313

[백준] 11021번: A+B - 7 (C++) 2741번: N 찍기 문제 ) 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 : 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 n; for(int i = 1; i > a; cin >> b; cout 2022. 4. 12.
[백준] 2742번: 기찍 N (C++) 2742번: 기찍 N 문제 ) 자연수 N이 주어졌을 때, N부터 1까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오. 입력 : 첫째 줄에 100,000보다 작거나 같은 자연수 N이 주어진다. 출력 : 첫째 줄부터 N번째 줄 까지 차례대로 출력한다. 풀이) C++은 뭐든지 빠른줄 알았더니 그것도 조금은 아니었던 것 같다. cout을 할때 endl;가 들어있으면 100000번 출력을 하는 과정에서 시간이 부족하게 되므로 이를 해결하기 위해서 줄바꿈을 위해 \n을 넣어주었다. 1 2 3 4 5 6 7 8 9 10 11 12 13 # include using namespace std; int main(){ int n; cin >> n; for(int i = n; i > 0; i--){ cout 2022. 4. 12.
[백준] 1107번: 리모컨 (python) 1107번: 리모컨 문제 ) 수빈이는 TV를 보고 있다. 수빈이는 채널을 돌리려고 했지만, 버튼을 너무 세게 누르는 바람에, 일부 숫자 버튼이 고장났다. 리모컨에는 버튼이 0부터 9까지 숫자, +와 -가 있다. +를 누르면 현재 보고있는 채널에서 +1된 채널로 이동하고, -를 누르면 -1된 채널로 이동한다. 채널 0에서 -를 누른 경우에는 채널이 변하지 않고, 채널은 무한대 만큼 있다. 수빈이가 지금 이동하려고 하는 채널은 N이다. 어떤 버튼이 고장났는지 주어졌을 때, 채널 N으로 이동하기 위해서 버튼을 최소 몇 번 눌러야하는지 구하는 프로그램을 작성하시오. 수빈이가 지금 보고 있는 채널은 100번이다. 입력 : 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘.. 2022. 4. 12.
[백준] 1074번: Z (python) 1074번: Z 문제 ) 한수는 크기가 2^N × 2^N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다.​​ N > 1인 경우, 배열을 크기가 2^N-1 × 2^N-1로 4등분 한 후에 재귀적으로 순서대로 방문한다. 다음 예는 22 × 22 크기의 배열을 방문한 순서이다. ​ N이 주어졌을 때, r행 c열을 몇 번째로 방문하는지 출력하는 프로그램을 작성하시오. 다음은 N=3일 때의 예이다. 입력 : 첫째 줄에 정수 N, r, c가 주어진다. 출력 : r행 c열을 몇 번째로 방문했는지 출력한다. 제한: 1 ≤ N ≤ 15 0 ≤ r, c < 2^N 풀이) 4분면을 나눠서 하는 분할정복은 그대로 하되,.. 2022. 4. 11.