티스토리 뷰
반응형
백준 1620번 나는야 포켓몬 마스터 이다솜
https://www.acmicpc.net/problem/1620
1620번: 나는야 포켓몬 마스터 이다솜
첫째 줄에는 도감에 수록되어 있는 포켓몬의 개수 N이랑 내가 맞춰야 하는 문제의 개수 M이 주어져. N과 M은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수인데, 자연수가 뭔지는 알지? 모르면
www.acmicpc.net












정답 코드
#include<iostream>
#include<unordered_map>
#include<vector>
using namespace std;
unordered_map<string, int>arr;
vector<string>input;
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int n,m;
cin>>n>>m;
for(int x=0;x<n;x++){
string str;
cin>>str;
input.push_back(str);
arr.insert({str,x+1});
}
for(int x=0;x<m;x++){
string st;
cin>>st;
if (st[0] >= '0' && st[0] <= '9') {
int index=stoi(st);
cout<<input[index-1]<<'\n'; ;
}
else
cout<<arr.find(st)->second<<'\n';
}
}
문제 풀이
음.. 상당히 서론이 긴 문제네요 ㅎㅋㅎㅋㅎㅋ
vector와 unordered_map을 이용해서 풀었습니다.
key와 value를 이용해서 푸는 문제인데 정렬하는 것이
아닌 들어온 순서대로 번호가 기록되어야 하기 때문에
unordered_map이 적절하다고 생각했습니다.
문장을 vector에 추가하고 unordered_map에는
문장과 입력받은 숫자를 쌍으로 추가하였습니다.
그 후 map에서 각 문장에 해당되는 value(입력 받은 순서)를 얻어와서 출력할 수 있게 하였습니다.
숫자문장을 입력받은 경우 stoi를 이용해서 숫자로 바꿔주고 vector에 알맞는 인덱스값을 출력할 수 있도록
하였습니다.
반응형
'Algorithm > BOJ' 카테고리의 다른 글
[C/C++] 백준 1644번 - 소수의 연속합 (0) | 2023.07.25 |
---|---|
백준 1629번 C++ (0) | 2023.07.24 |
백준 1600번 C++ (0) | 2023.07.24 |
백준 1550번 C++ (0) | 2023.07.24 |
백준 1546번 C++ (0) | 2023.07.24 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- html
- 자바
- 자료구조
- 투 포인터
- DFS
- 스택
- CSS
- HTML5
- C++ Stack
- 알고리즘 공부
- Do it!
- 자바스크립트
- C++
- 백준
- 카운팅 정렬
- 알고리즘
- DP
- 백준 풀이
- 에라토스테네스의 체
- 이분 매칭
- 우선순위 큐
- 세그먼트 트리
- BFS
- 스프링 부트 crud 게시판 구현
- js
- 반복문
- java
- 유클리드 호제법
- c++ string
- 유니온 파인드
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
글 보관함