티스토리 뷰
반응형
백준 1620번 나는야 포켓몬 마스터 이다솜
https://www.acmicpc.net/problem/1620
정답 코드
#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
- 유니온 파인드
- 우선순위 큐
- 알고리즘
- 이분 매칭
- 에라토스테네스의 체
- 백준 풀이
- 자바스크립트
- 자바
- Do it!
- C++ Stack
- 세그먼트 트리
- 스프링 부트 crud 게시판 구현
- 유클리드 호제법
- BFS
- 투 포인터
- 스택
- DFS
- C++
- html
- CSS
- 백준
- 카운팅 정렬
- HTML5
- 자료구조
- DP
- 반복문
- 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 |
글 보관함