관리 메뉴

어읽로꾸거

BOJ 1620 나는야 포켓몬 마스터 이다솜 본문

알고리즘

BOJ 1620 나는야 포켓몬 마스터 이다솜

어읽로꾸거 2019. 3. 24. 03:19

백준 번호 : https://www.acmicpc.net/problem/1620


해결과정:

map과 배열을 이용

string을 int로 바꾸는 함수 int atoi(char *str) 를 써봤다

매개변수가 char* 이므로 string을 char* 로 바꿔주는 c_str()함수를 이용


cin cout만 썻다가 시간초과나서 해메다 scanf가 답인걸 알았음 🤔

 


코드:

#include<iostream>
#include<map>
#include<string>
using namespace std;

string book1[100003]; //번호로 이름
map  book2; //이름으로 번호

int main() {
	//freopen("input.txt", "r", stdin);
	int n, m; cin >> n >> m;
	char str[21]; //scanf용 임시 입력공간
	for (int i = 1; i <= n; i++) {
		scanf("%s", str); string s = str;
		book1[i] = s;
		book2[s] = i;
	}
	while (m--) {
		scanf("%s", str); string s = str;
		if ('1' <= s[0] && s[0] <= '9') cout << book1[atoi(s.c_str())] << '\n';
		else cout << book2[s] << '\n';
	}
}

'알고리즘' 카테고리의 다른 글

BOJ 16469 소년 점프  (0) 2019.03.28
BOJ 16953 A → B  (0) 2019.03.27
BOJ 1932 정수 삼각형  (0) 2019.03.26
BOJ 2580 2239 스도쿠  (0) 2019.03.23
BOJ 15954 인형들  (0) 2019.03.19