using System;
public class Solution {
public int[] solution(string s) {
int[] answer = new int[] {};
return answer;
}
}
using System;
using System.Linq;
public class Solution
{
public int[] solution(string s)
{
int[] answer = new int[s.Length];
char[] charArr = new char[s.Length];
int index = 0;
int sub = 0;
// s 길이 만큼 for loop 돌기
for (int i = 0; i < s.Length; i++)
{
// 배열에 중복 글자가 있는지 체크 - Contains
if (charArr.Contains(s[i])) // 중복 있으면 몇칸 앞에 있는지 수를 리턴
{
// 중복 글자가 여러 개 있다면 나랑 가까운 인덱스 있는걸 델꼬 와야함 !!!!
index = Array.LastIndexOf(charArr, s[i]); // Array.IndexOf 사용하면 안될듯 / LastIndexOf 도전
sub = i - index;
answer[i] = sub;
charArr[i] = s[i];
}
else // 중복 없으면 -1 리턴
{
answer[i] = -1;
charArr[i] = s[i];
}
}
return answer;
}
}
처음에 using System.Linq;
없이 코드를 작성하면 아래와 같이 에러 문구가 떴다.
Contains 쪽에서 문제가 있는거 같은데
대체 뭐가 문제일까 검색을 해보니 그냥 using System.Linq;
추가해주면 된다고 해서 시도해보니까 진짜 되네..?
왜 되는거지..?
일단 어찌저찌 오늘의 문제 해결 완료...!
새롭게 배운 것s :