728x90
https://school.programmers.co.kr/learn/courses/30/lessons/160586
소스코드
using System;
public class Solution
{
public int[] solution(string[] keymap, string[] targets)
{
int[] answer = new int[targets.Length];
int count = 0;
for (int i = 0; i < targets.Length; i++)
{
foreach (char c in targets[i])
{
count = FindMin(keymap, c);
if (count == -1)
{
answer[i] = -1;
break;
}
answer[i] += count;
}
}
return answer;
}
int FindMin(string[] keymap, char c)
{
int min = 9999;
for (int i = 0; i < keymap.Length; i++)
{
int idx = Array.IndexOf(keymap[i].ToCharArray(), c);
if (idx == -1)
continue;
if (min > idx)
min = idx;
}
return min == 9999 ? -1 : min + 1;
}
}
728x90
'코딩공부 > 프로그래머스' 카테고리의 다른 글
[프로그래머스]Lv.1 둘만의 암호C# (0) | 2023.06.12 |
---|---|
[프로그래머스]Lv.1 카드 뭉치 C# (0) | 2023.06.12 |
※[프로그래머스]Lv.1 덧칠하기 C# (0) | 2023.06.12 |
※[프로그래머스]Lv.1 공원 산책 C# (0) | 2023.06.09 |
※[프로그래머스]Lv.1 크기가 작은 부분문자열 C#(long.parse) (0) | 2023.06.08 |