https://school.programmers.co.kr/learn/courses/30/lessons/142086
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
분석
같은 글자인 지 확인해야 했으므로, 원본 데이터를 유지해야 했고 True나 False로 간단히 표현할 수 없었다.
시간복잡도를 계산해보니 주어진 방법대로 검사했을 경우 O(N^2) 였다. 따라서 불가능한 수준은 아니라고 판단했다.
따라서 주어진 방법 그대로 구현해보았다.
코드
class Solution {
public int[] solution(String s) {
int[] answer = new int[s.length()];
answer[0]=-1;
for(int i=1; i<s.length(); i++){
int count=0;
for(int j=i-1; j>=0; j--){
count++;
if(s.charAt(i)==s.charAt(j)){
answer[i]=count;
break;
}
answer[i]=-1;
}
}
return answer;
}
}
20분정도 소요되었다.
'알고리즘 > 문제' 카테고리의 다른 글
| [프로그래머스] 과일 장수 / JAVA (0) | 2023.02.06 |
|---|---|
| [Programmers] 문자열 나누기 / JAVA (0) | 2023.01.13 |
| [프로그래머스] 로또의 최고 순위와 최저 순위 / JAVA (0) | 2022.12.05 |
| <1차도전 실패>[프로그래머스] 신고 결과 받기 / JAVA / 2022 KAKAO BLIND RECRUITMENT (0) | 2022.11.24 |
| [프로그래머스] 콜라 문제 / JAVA (0) | 2022.11.22 |