[백준 / BOJ] 1620번 나는야 포켓몬 마스터 이다솜 (C++, Python)◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2022. 6. 1. 19:40
Table of Contents
반응형
링크 : https://www.acmicpc.net/problem/1620
문제
문제 풀이
문제가 굉장히 길다.
C++ 상세 풀이
더보기
map을 활용해 입력받은 순서대로 해당 인덱스와 문자를 넣은 후, 숫자를 받았을 때 문자열을 출력해주기 위해 따로 vector을 선언해 주었다.
후에 입력받았을 때 가장 앞자리가 숫자면 vector의 인덱스 문자열을 출력해주고, 문자를 입력받았다면 숫자를 출력해주면 된다.
for (int i = 0; i < N; ++i) {
std::string str;
std::cin >> str;
mp.insert(make_pair(str, i + 1));
v[i + 1] = str;
}
for (int i = 0; i < M; ++i) {
std::string str;
std::cin >> str;
if (isdigit(str[0])) {
int key = stoi(str);
std::cout << v[key] << "\n";
}
else
std::cout << mp.find(str)->second << "\n";
}
Python 상세 풀이
더보기
dict 자료형을 활용하면 된다. 아주 쉽게 풀린다.
for i in range(1, N + 1):
word = input().strip()
dict[i] = word
dict[word] = i
for i in range(M):
word = input().strip()
if word.isdigit():
print(dict[int(word)])
else:
print(dict[word])
C++ 코드 전문
Python 코드 전문
소감
반응형
'◎ 자료구조와 알고리즘 > 백준(BOJ) 문제풀이' 카테고리의 다른 글
[백준 / BOJ] 1764번 듣보잡 (C++, Python) (0) | 2022.06.01 |
---|---|
[백준 / BOJ] 10816번 숫자 카드 2 (C++, Python) (0) | 2022.06.01 |
[백준 / BOJ] 14425번 문자열 집합 (C++, Python) (0) | 2022.06.01 |
[백준 / BOJ] 10815번 숫자 카드 (C++, Python) (0) | 2022.06.01 |
[백준 / BOJ] 18870번 좌표 압축 (C++, Python) (0) | 2022.06.01 |
@Reo :: 코드 아카이브
자기계발 블로그