30501번: 관공... 어찌하여 목만 오셨소...
천하제일의 장수 관우도 결국 죽음을 맞이했다. 유비와 장비는 관우의 복수를 위해 $N$명의 용의자 중 관우를 죽인 범인을 찾으려 한다. 관우와 함께 있었던 장수의 말에 따르면 관우를 죽인 범
www.acmicpc.net
문제
천하제일의 장수 관우도 결국 죽음을 맞이했다. 유비와 장비는 관우의 복수를 위해 명의 용의자 중 관우를 죽인 범인을 찾으려 한다. 관우와 함께 있었던 장수의 말에 따르면 관우를 죽인 범인의 이름에는 S가 들어간다. 관우를 죽인 용의자 이름의 리스트에서 관우를 죽인 범인의 이름을 찾는 프로그램을 작성하시오.
입력
첫째 줄에 용의자의 수를 뜻하는 정수 이 주어진다. (1≤N≤1000)
둘째 줄부터 개의 줄에 걸쳐 용의자의 이름이 한 줄에 하나씩 주어진다. 이름은 영어 대문자로만 이루어져 있으며, 이름의 길이는 1 글자를 넘지 않는다.
항상 답이 유일하게 존재하는 경우만 입력으로 주어진다.
출력
첫째 줄에 관우를 죽인 범인의 이름을 출력한다.
세종과학예술영재학교 SASA Programming Contest에서 출제된 문제인데 어쩜ㅋㅋ
제목을 재밌게 잘지어서 보자마자 풀어본 문제네요
입력 문자열 중에 'S' 가 들어간 사람을 찾는 단순한 문제입니다
저는 이차원 배열로 만들어서 풀었어요!
/* ********************
* 30501 - 관공의 목
* ********************/
#include<stdio.h>
int main(void)
{
int n;
scanf("%d", &n);
char str[n][101];
int mur=0;
for(int i=0; i<n; ++i){
scanf("%s", str[i]);
for(int j=0; j<sizeof(str[i]); ++j){
if(str[i][j]=='S'){
mur = i;
}
}
}
printf("%s", str[mur]);
return 0;
}
확실히 버퍼가 정해진 문자가 풀기 쉬워서 좋네요
C는 조금만 잘못 해도 메모리가...ㅜㅜ
그래도 이 문제는 단순하게 접근해도 되는 문제였습니다~