글
프로그래머스 레벨1 대충 만든 자판 C#(Dictionary, ContainsKey)
프로그래밍
2023. 2. 24. 14:34
728x90
SMALL
C#
using System;
using System.Collections.Generic;
public class Solution {
public int[] solution(string[] keymap, string[] targets) {
int[] answer = new int[targets.Length];
Dictionary<char, int> dic = new Dictionary<char, int>();
for(int i=0;i<keymap.Length;i++)
{
for(int j=0;j<keymap[i].Length;j++)
{
if(dic.ContainsKey(keymap[i][j]) == false)
{
dic.Add(keymap[i][j], j+1);
//딕셔너리에 keymap에 있는 문자와 그에 따른 숫자를 저장해놓는다.
}
else
{
if(dic[keymap[i][j]] > j+1)
{
dic[keymap[i][j]] = j+1;
}
// 딕셔너리에 똑같은 게 있는데 숫자가 J+1보다 크면
//가장 숫자가 작았던 걸 딕셔너리에 저장한다.
}
}
}
for(int i=0;i<targets.Length;i++)
{
answer[i] = 0;
for(int j=0;j<targets[i].Length;j++)
{
if(dic.ContainsKey(targets[i][j]) == true)
{
answer[i] += dic[targets[i][j]];
}
else
{
answer[i] = -1;
break;
}
}
}
return answer;
}
}
728x90
'프로그래밍' 카테고리의 다른 글
프로그래머스 레벨1 문자열 나누기 C#(JAVA) (0) | 2023.02.24 |
---|---|
프로그래머스 레벨1 카드 뭉치 C#(JAVA) string 배열 (0) | 2023.02.24 |
프로그래머스 레벨2 피로도 C#(완전탐색) (0) | 2023.02.24 |
프로그래머스 이모티콘 할인행사 C#() (0) | 2023.02.23 |
프로그래머스 레벨3 가장 먼 노드 C#(JAVA) queue, BFS (0) | 2023.02.23 |