코딩테스트
[level 1] 로또의 최고 순위와 최저 순위 - 77484
https://school.programmers.co.kr/learn/courses/30/lessons/77484
[level 1] 로또의 최고 순위와 최저 순위 - 77484 풀이코드
더보기
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int zeroCnt = 0, cnt = 0;
vector<int> solution(vector<int> lottos, vector<int> win_nums) {
vector<int> answer;
int grade[10];
grade[6] = 1;
grade[5] = 2;
grade[4] = 3;
grade[3] = 4;
grade[2] = 5;
grade[1] = 6;
grade[0] = 6;
for(int i = 0; i < 6; i++) {
if(lottos[i] == 0) zeroCnt++;
auto it = find(win_nums.begin(), win_nums.end(), lottos[i]);
if (it != win_nums.end()) {
cnt++;
win_nums.erase(it);
}
}
int gradeTop = grade[cnt + zeroCnt];
answer.push_back(gradeTop);
int gradeUnder = grade[cnt];
answer.push_back(gradeUnder);
return answer;
}
[Silver IV] 나는야 포켓몬 마스터 이다솜 - 1620
https://www.acmicpc.net/problem/1620
[Silver IV] 나는야 포켓몬 마스터 이다솜 - 1620 풀이코드
더보기
#include <bits/stdc++.h>
using namespace std;
int N, M;
string name;
map<int, string> nameByNum;
map<string, int> numByName;
vector<string> answer;
int main() {
cin >> N;
cin >> M;
for(int i = 1; i <= N; i++) {
cin >> name;
nameByNum[i] = name;
numByName[name] = i;
}
for(int i = 0; i < M; i++) {
cin >> name;
if(isdigit(name[0])) {
answer.push_back(nameByNum[atoi(name.c_str())]);
} else {
answer.push_back(to_string(numByName[name]));
}
}
for(string i : answer) cout << i << "\n";
return 0;
}
CMD에서 이모지 출력하기 (With Window10, 11)
여러 가지 시도하다가 해결 방법을 찾았습니다.
해결방법
- 제어판 → 국가 또는 지역 → 관리자 옵션 → 시스템 로캘 변경 → Beta:세계 언어 지원을 위해 Unicode UTF-8 사용 체크하기(몇몇 프로그램에선 부작용이 있을 수 있습니다.)
- Clean Build → ReBuild Solution 빌드 진행
- 윈도우 11 → 아무 CMD에서 출력 가능
- 윈도우 10 → Windows Terminal 설치 후 해당 터미널에서 출력하면 문제없이 확인 가능.
https://apps.microsoft.com/detail/9n0dx20hk701?hl=ko-KR&gl=KR
정상적으로 확인했습니다.
UTF-8 입력으로 변환되어서 getline에서 나오던 오류도 수정됩니다.