본문 바로가기

# 프로그래밍 개발/04. 알고리즘 문제풀이

백준 알고리즘 2490번 [윷놀이] 문제 풀이 코드 공개 - 구현

반응형
대문 이미지 2490번

문제

우리나라 고유의 윷놀이는 네 개의 윷짝을 던져서 배(0)와 등(1)이 나오는 숫자를 세어 도, 개, 걸, 윷, 모를 결정한다. 네 개 윷짝을 던져서 나온 각 윷짝의 배 혹은 등 정보가 주어질 때 도(배 한 개, 등 세 개), 개(배 두 개, 등 두 개), 걸(배 세 개, 등 한 개), 윷(배 네 개), 모(등 네 개) 중 어떤 것인지를 결정하는 프로그램을 작성하라.

입력

첫째 줄부터 셋째 줄까지 각 줄에 각각 한 번 던진 윷짝들의 상태를 나타내는 네 개의 정수(0 또는 1)가 빈칸을 사이에 두고 주어진다.

출력

첫째 줄부터 셋째 줄까지 한 줄에 하나씩 결과를 도는 A, 개는 B, 걸은 C, 윷은 D, 모는 E로 출력한다.

예제 입 출력 결과

출처

Olympiad > 한국정보올림피아드 > 한국정보올림피아드시․도지역본선 > 지역본선 2009 > 초등부 1번

  • 잘못된 데이터를 찾은 사람: djm03178
  • 문제의 오타를 찾은 사람: eric00513

알고리즘 분류

 

제출 결과

반응형

 

간단한 문제이다. 1이 몇개가 등장하였는지 카운트해서 조건문으로 해결할 수 있는 문제이다. 

#include<stdio.h>
int main(){
	int a[3][4];
	char res[3];
	int cnt;
	for(int i = 0 ; i < 3; i++){
		cnt = 0;
		for(int j = 0 ; j < 4; j++){
			scanf("%d",&a[i][j]);
			if(a[i][j] == 1)
				cnt++;
		}
		switch(cnt){
		case 0:
			res[i] = 'D';
			break;
		case 1:
			res[i] = 'C';
				break;
		case 2:
			res[i] = 'B';
				break;
		case 3:
			res[i] = 'A';
				break;
		case 4:
			res[i] = 'E';
				break;

		}
	}
	for(int i = 0 ; i < 3 ; i++)
		printf("%c\n",res[i]);
}

이와 같은 쉬운 문제가 코딩테스트에서는 등장하기 어려울 것이다. 위에 보이는 것처럼 알고리즘의 문제 출처가 초등부 경진대회이다. 이 문제를 꼬아서 내려면 어떻게 해야할까 우리는 고민해봐야한다. 

예를 들어, 윷놀이 전체 결과가 주어지고 A와 B 사람 중 누가 이겼는지 혹은 A 가 B를 몇번 따라잡거나 잡아먹었는지 정도를 계산하는 문제가 나왔다면 조건이 더 많아져서 훨씬 어려운 문제가 되었을 것이다. 

또, 백도도 있고 엎어서 가는 경우도 있으니 이런 모든 경우의 수를 통제하려면 조건이 엄청 까다로운 문제일 것이다. 이런 문제를 가지고 직접 문제를 만들어봐서 풀어보는 것 역시 코딩 테스트에 큰 도움이 되기 때문에 한번 이런 방향으로 고민해보길 바랍니다. 

 

 

다른 알고리즘 문제

2022.05.10 - [# 프로그래밍 개발/04. 알고리즘 문제풀이] - 백준 알고리즘 2480번 [주사위 세개] 문제풀이코드 공개

 

백준 알고리즘 2480번 [주사위 세개] 문제풀이코드 공개

문제 1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 같은 눈이 2

samsic.tistory.com

2022.04.28 - [# 프로그래밍 개발/04. 알고리즘 문제풀이] - 백준 알고리즘 9461번 [파도반 수열] 문제풀이코드 공개

 

백준 알고리즘 9461번 [파도반 수열] 문제풀이코드 공개

문제 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴

samsic.tistory.com

2022.05.08 - [# 프로그래밍 개발/04. 알고리즘 문제풀이] - 백준 알고리즘 4796번 [캠핑] 문제 풀이 코드 공개 - 그리디 알고리즘

 

백준 알고리즘 4796번 [캠핑] 문제 풀이 코드 공개 - 그리디 알고리즘

문제 등산가 김강산은 가족들과 함께 캠핑을 떠났다. 하지만, 캠핑장에는 다음과 같은 경고문이 쓰여 있었다. 캠핑장은 연속하는 20일 중 10일동안만 사용할 수 있습니다. 강산이는 이제 막 28일

samsic.tistory.com

 

반응형