![[프로그래머스] 가장 가까운 같은 글자](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FckTkhU%2FbtsJM4wJVWK%2FIqitJisuNQvMQKeLhvrBz1%2Fimg.png)
[프로그래머스] 가장 가까운 같은 글자프로그래머스2024. 9. 25. 23:47
Table of Contents
https://school.programmers.co.kr/learn/courses/30/lessons/142086
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
📌 내가 구현한 정답
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;
}
}

안쪽 for문의 조건식은 i - 1부터 0까지 감소시킨다.
매개변수 String s의 s.charAt(i)가 s.charAt(j)와 같으면 i - j 한 값을 배열에 저장시킨 후 j 반복문을 탈출한다.
🔑 다른 풀이
class Solution {
public int[] solution(String str) {
int[] result = new int[str.length()];
for(int i=0;i<str.length();i++){
String subStr = str.substring(0,i);
if(subStr.indexOf(str.charAt(i))==-1) {
result[i] = -1;
} else {
result[i] = i-subStr.lastIndexOf(str.charAt(i));
}
}
return result;
}
}
📌 TIL
charAt(i) 함수란?
String 타입의 데이터(문자열)에서 특정 문자를 char 타입으로 변환할 때 사용하는 함수.
❗ 숫자형태의 String에서 int 변수로 바로 변환할 때
String 관련 코딩테스트 문제를 풀 때 알아야하는 함수!
ex) int num = str.charAt(i) - '0';
char 타입의 문자를 int 타입의 변수로 변환할 때 사용하는 함수
String numbers = "12345";
// 숫자로 구성된 String 변수에서 특정 숫자를 바로 int 변수로 가져올 수 있다.
int targetNumber1 = numbers.charAt(0) - '0';
int targetNumber2 = numbers.charAt(1) - '0';
int targetNumber3 = numbers.charAt(2) - '0';
System.out.println("targetNumber1 = "+targetNumber1);
System.out.println("targetNumber2 = "+targetNumber2);
System.out.println("targetNumber3 = "+targetNumber3);
int test1 = 10 - targetNumber1;
int test2 = 10 - targetNumber2;
int test3 = 10 - targetNumber3;
System.out.println("10 - targetNumber1 = "+test1);
System.out.println("10 - targetNumber2 = "+test2);
System.out.println("10 - targetNumber3 = "+test3);
[결과]

Reference
JAVA 코딩테스트 - charAt() 함수
charAt 함수란?String 타입의 데이터(문자열)에서 특정 문자(character)를 char 타입으로 변환할 때 사용하는 함수이다.예시)결과반복문 활용 예시 1)역순 조회결과반복문 활용 예시 2)순서대로 조회결과
velog.io
'프로그래머스' 카테고리의 다른 글
[프로그래머스] 디펜스 게임 - LV 2 (0) | 2025.02.12 |
---|---|
[프로그래머스] 콜라 문제 (0) | 2024.09.30 |
[프로그래머스] 두 개 뽑아서 더하기 (0) | 2024.09.24 |
[프로그래머스] 숫자 문자열과 영단어 (1) | 2024.09.23 |
[프로그래머스] 3진법 뒤집기 (0) | 2024.09.03 |
@킴준현 :: 차근차근 꾸준히
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!