문제 링크

21756번: 지우개 (acmicpc.net)

 

21756번: 지우개

$N$개의 칸에 $1$ 부터 $N$ 까지의 수들이 왼쪽부터 순서대로 저장되어 있다. 또, 각 칸은 왼쪽부터 $1$ 부터 $N$까지 순서대로 번호가 붙어 있다. 즉, 처음에는 각 칸의 번호와 각 칸에 저장된 수가

www.acmicpc.net


문제

 N개의 칸에 1부터 N까지의 수들이 왼쪽부터 순서대로 저장되어 있다. 또, 각 칸은 왼쪽부터 1부터 N까지 순서대로 번호가 붙어 있다. 즉, 처음에는 각 칸의 번호와 각 칸에 저장된 수가 같다.

아래 그림은 N=7일 때의 예이다.

다음 작업을 수가 정확히 하나가 남을 때 까지 반복한다.

(A) 홀수번 칸의 수들을 모두 지운다 (B) 남은 수들을 왼쪽으로 모은다.

제일 첫 작업의 (A) 단계가 끝나면 칸들의 상태는 다음과 같을 것이다.

(B) 단계가 끝나면 다음과 같을 것이다.

두번째 작업이 진행되면 칸들은 아래 두 그림과 같이 바뀔 것이다.

이제 수가 하나 남았으므로 작업은 더 이상 진행되지 않는다.

 N을 입력으로 받아 위와 같이 작업을 진행했을 때 마지막으로 남는 수를 계산하는 프로그램을 작성하라.


입력

첫 번째 줄에 정수 N이 주어진다.


출력

마지막으로 남는 수를 한 줄에 출력한다.


제한


서브태스크

번호 배점 제한
1 5 입출력 예제만이 주어짐
2 15 N <= 8
3 30 N은  1,2,4,8,16,32,64 중 하나이다. 즉, N은 1이거나, 2이거나, 2를 여러 번 곱한 수 중 하나이다.
4 50 추가 제약 조건 없음

예제 입력 1                                                                                                  예제 출력 1

     1                                                                                                                1


예제 입력 2                                                                                                  예제 출력 2

     2                                                                                                               2


예제 입력 3                                                                                                  예제 출력 3

     5                                                                                                               4


소스 코드

#include <stdio.h>

int a[200], b[200];
int main()
{
	int n, i, j;
	scanf("%d", &n);
	for (i = 0; i < n; i++) //a배열에 1부터 n까지의 숫자로 채운다.
	{
		a[i] = i + 1;
	}

	// n = a 배열의 크기
	while(n > 1)
	{
		// 만약 i / 2를 했을 때 나머지가 1이라면 홀수이므로 b[j]번째에 a[i]번쨰 값을 넣는다.
		// n = a 배열의 크기
		// i = 배열 a의 현재 탐색 위치 (탐색)
		// j = 배열 b의 현재 저장 위치 (저장)
		j = 0;
		for (i = 0; i < n; i++)
		{
			if (i % 2 == 1)
			{
				b[j] = a[i];
				j++;
			}
		}

		// 해야할 일 : b 배열의 값을 a배열에 전부 복사한다.
		// i = b배열의 현재 탐색 위치
		// j = b배열의 크기
		for (i = 0; i < j; i++)
		{
			a[i] = b[i];
		}
		n = j;
	}
	
	for (int i = 0; i < n; i++) //a배열 값을 출력한다.
	{
		printf("%d ", a[i]);
	}
	printf("\n");
	return 0;
}

'백준(BOJ)' 카테고리의 다른 글

백준 14681(사분면 고르기)  (0) 2022.01.25
백준 사이트에 제가 만든 문제가 올라왔습니다.  (1) 2021.12.01
백준 1008(A/B)  (0) 2021.09.08
백준 10998(A×B)  (0) 2021.09.08
백준 10172(개)  (0) 2021.09.08
백준 10171(고양이)  (0) 2021.09.08

문제 링크

10998번: A×B (acmicpc.net)

 

10998번: A×B

두 정수 A와 B를 입력받은 다음, A×B를 출력하는 프로그램을 작성하시오.

www.acmicpc.net


문제

두 정수 A와 B를 입력받은 다음, A×B를 출력하는 프로그램을 작성하시오.


입력

첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)


출력

첫째 줄에 A×B를 출력한다.


예제 입력 1                                                                                            예제 출력 1

     1 2                                                                                                         2

예제 입력 1                                                                                            예제 출력 1

     3 4                                                                                                         12


소스 코드

#include <stdio.h>

int main()
{
	int a, b;
	scanf("%d %d", &a, &b);
	printf("%d", a * b);
}

'백준(BOJ)' 카테고리의 다른 글

백준 사이트에 제가 만든 문제가 올라왔습니다.  (1) 2021.12.01
백준 1008(A/B)  (0) 2021.09.08
백준 21756(지우개)  (0) 2021.09.08
백준 10172(개)  (0) 2021.09.08
백준 10171(고양이)  (0) 2021.09.08
백준 10718(We love kriii)  (0) 2021.09.08

문제 링크

10172번: 개 (acmicpc.net)

 

10172번: 개

문제 아래 예제와 같이 개를 출력하시오. 입력 출력 예제 입력 1 복사 예제 출력 1 복사 |\_/| |q p| /} ( 0 )"""\ |"^"` | ||_/=\\__|...

www.acmicpc.net


문제

아래 예제와 같이 개를 출력하시오.


입력

없음.


출력

개를 출력한다.


예제 입력 1                                                                                                                   예제 출력 1

                                                                                                                     

예제 출력 1

 


소스 코드

#include <iostream>

int main(void)
{
    printf("|\\_/|\n");
    printf("|q p|   /}\n");
    printf("( 0 )\"\"\"\\\n");
    printf("|\"^\"`    |\n");
    printf("||_/=\\\\__|\n");

    return  0;
}

'백준(BOJ)' 카테고리의 다른 글

백준 1008(A/B)  (0) 2021.09.08
백준 21756(지우개)  (0) 2021.09.08
백준 10998(A×B)  (0) 2021.09.08
백준 10171(고양이)  (0) 2021.09.08
백준 10718(We love kriii)  (0) 2021.09.08
백준 2557(Hello World)  (0) 2021.09.08

문제 링크

10171번: 고양이 (acmicpc.net)

 

10171번: 고양이

아래 예제와 같이 고양이를 출력하시오.

www.acmicpc.net


문제

아래 예제와 같이 고양이를 출력하시오.


입력

없음.


출력

고양이를 출력한다.


예제 입력 1                                                                                                                   예제 출력 1

                                                                                                                 

예제 출력 1

 


소스 코드

#include <iostream>

int main()
{
    printf("\\    /\\\n");
    printf(" )  ( ')\n");
    printf("(  /  )\n");
    printf(" \\(__)|\n");
   

    return 0;
}

 

'백준(BOJ)' 카테고리의 다른 글

백준 21756(지우개)  (0) 2021.09.08
백준 10998(A×B)  (0) 2021.09.08
백준 10172(개)  (0) 2021.09.08
백준 10718(We love kriii)  (0) 2021.09.08
백준 2557(Hello World)  (0) 2021.09.08
백준 1001(A-B)  (0) 2021.09.08

문제 링크

10718번: We love kriii (acmicpc.net)

 

10718번: We love kriii

ACM-ICPC 인터넷 예선, Regional, 그리고 World Finals까지 이미 2회씩 진출해버린 kriii는 미련을 버리지 못하고 왠지 모르게 올해에도 파주 World Finals 준비 캠프에 참여했다. 대회를 뜰 줄 모르는 지박

www.acmicpc.net


문제

ACM-ICPC 인터넷 예선, Regional, 그리고 World Finals까지 이미 2회씩 진출해버린 kriii는 미련을 버리지 못하고 왠지 모르게 올해에도 파주 World Finals 준비 캠프에 참여했다.

대회를 뜰 줄 모르는 지박령 kriii를 위해서 격려의 문구를 출력해주자.


입력

본 문제는 입력이 없다.


출력

두 줄에 걸쳐 "강한친구 대한육군"을 한 줄에 한 번씩 출력한다.


예제 입력 1                                                        예제 출력 1

                                                                                                        강한친구 대한육군

                                                                                                        강한친구 대한육군


 

소스 코드

#include <stdio.h>

int main()
{
	printf("강한친구 대한육군\n");
	printf("강한친구 대한육군");
	return 0;	
}

'백준(BOJ)' 카테고리의 다른 글

백준 10998(A×B)  (0) 2021.09.08
백준 10172(개)  (0) 2021.09.08
백준 10171(고양이)  (0) 2021.09.08
백준 2557(Hello World)  (0) 2021.09.08
백준 1001(A-B)  (0) 2021.09.08
백준 1000(A+B)  (0) 2021.09.08

문제 링크

2557번: Hello World (acmicpc.net)

 

2557번: Hello World

Hello World!를 출력하시오.

www.acmicpc.net


문제

Hello World!를 출력하시오.


입력

없음


출력

Hello World!를 출력하시오.


예제 입력                                                                                             예제 출력

                                                                                                        Hello World!


 

스 코드

#include <stdio.h>

int main()
{
	printf("Hello World!");
	return 0;
}

'백준(BOJ)' 카테고리의 다른 글

백준 10172(개)  (0) 2021.09.08
백준 10171(고양이)  (0) 2021.09.08
백준 10718(We love kriii)  (0) 2021.09.08
백준 1001(A-B)  (0) 2021.09.08
백준 1000(A+B)  (0) 2021.09.08
백준 3028(창영마을)  (0) 2021.09.05

+ Recent posts