- 난이도: Lv1
프로그래머스 링크: https://school.programmers.co.kr/learn/courses/30/lessons/142086
풀이 링크(GitHub): hayannn/CodingTest_Java/프로그래머스/1/142086. 가장 가까운 같은 글자
풀이 시간 : 17분
import java.util.*;
class Solution {
public int[] solution(String s) {
int[] answer = new int[s.length()];
answer[0] = -1;
for(int i=1; i<s.length(); i++){
for(int j = i-1; j >= 0; j--){
if(s.charAt(i) == s.charAt(j)){
answer[i] = i-j;
} else {
answer[i] = -1;
}
}
}
return answer;
}
}
//before
for(int i=1; i<s.length(); i++){
for(int j = i-1; j >= 0; j--){
if(s.charAt(i) == s.charAt(j)){
answer[i] = i-j;
//after
for(int i=1; i<s.length(); i++){
for(int j = i-1; j >= 0; j--){
if(s.charAt(i) == s.charAt(j)){
answer[i] = i-j;
break;
풀이 시간 : 30분(첫 풀이 시간 포함)
import java.util.*;
class Solution {
public int[] solution(String s) {
int[] answer = new int[s.length()];
answer[0] = -1;
for(int i=1; i<s.length(); i++){
for(int j = i-1; j >= 0; j--){
if(s.charAt(i) == s.charAt(j)){
answer[i] = i-j;
break;
} else {
answer[i] = -1;
}
}
}
return answer;
}
}
class Solution {
public int[] solution(String s) {
int[] answer = new int[s.length()];
for(int i=0;i<s.length();i++){
if(i !=0){
int idx = s.substring(0,i).lastIndexOf(s.charAt(i));
if(idx != -1){
answer[i] = i-idx;
}
else{
answer[i] = idx;
}
}
else{
answer[i] = -1;
}
}
return answer;
}
}