Algorithm/BAEKJOON
[C#]백준 1620 나는야 포켓몬 마스터 이다솜 - Hide
zz0zz9
2024. 12. 15. 18:43
반응형
반응형
https://www.acmicpc.net/problem/1620
문제 요약
번호가 주어지면 문자열을, 문자열이 주어지면 번호를 출력하기
참고
시간 초과 줄이는 팁
Dictionary, StringBuilder 사용하기
풀이
var R=()=>Console.ReadLine();
var t=R().Split().Select(int.Parse).ToList();
var s="";
var i=new Dictionary<string, int>();
var n=new Dictionary<int, string>();
for(int x=0;x++<t[0];){s=R();i[s]=x;n[x]=s;}
var o=new System.Text.StringBuilder();
for(int x=0;x++<t[1];){s=R();o.AppendLine(int.TryParse(s, out int m)?n[m]:i[s]+"");}
Console.Write(o);
딕셔너리 2개+StringBuilder() 사용
숏코딩
더보기
var R=()=>Console.ReadLine();var t=R().Split().Select(int.Parse).ToList();var s="";
Dictionary<string,int> d=new();var S=new string[t[0]+1];
for(int i=0;i++<t[0];)d.Add(S[i]=R(),i);for(;t[1]-->0;)
Console.WriteLine(int.TryParse(s=R(),out int n)?S[n]:d[s]);
시간 초과 때문에 고생했던 흔적... 심지어 파이썬 쓸 때도 시간 초과ㅠ 드디어 풀어서 속 시원하다
반응형