728x90
https://school.programmers.co.kr/learn/courses/30/lessons/181915
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
## 문제가 있는 오답
import java.util.*;
class Solution {
public String solution(String my_string, int[] index_list) {
String answer = "";
String[] StringArray = new Array[my_string.length];
for(int i=0; i<my_string.length; i++){
StringArray[i] = my_string.charAt(i);
}
for(int j=0; j<index_list.length; j++) {
answer += StringArray[index_list[j]];
}
return answer;
}
}
### 문제점
- 배열 생성
- new Array 가 아닌 new String 으로 생성해야함
- String my_string 의 길이
- my_string.length 가 아닌, my_string.length() 로 받아야함
- chatAt() 메서드로 문자를 문자열 배열에 할당하는 부분
- 배열의 각 요소는 String 타입으로 받아져야하므로 다음과 같이 변경
- stringArray[i] = my_String.charAt(i); -> stringArray[i] = String.valueOf(my_string.charAt(i));
## 정답
import java.util.*;
class Solution {
public String solution(String my_string, int[] index_list) {
String answer = "";
String[] stringArray = new String[my_string.length()];
for(int i=0; i<my_string.length(); i++){
stringArray[i] = String.valueOf(my_string.charAt(i));
}
for(int i=0; i<index_list.length; i++) {
answer += stringArray[index_list[i]];
}
return answer;
}
}
length 와 length()
length
배열의 길이를 나타내는 속성
배열이나 문자열과 같은 자료구조의 크기를 나타냄
length()
문자열(String)의 길이를 나타내는 메서드
문자열의 문자 개수를 반환함
## 많은 사람들의 풀이
class Solution {
public String solution(String my_string, int[] index_list) {
String answer = "";
for(int i : index_list){
answer += (my_string.charAt(i));
}
return answer;
}
}
charAt() 를 잘 이용하면 다음과 같이 더 간단하게 풀이를 작성할 수도 있음
728x90
'코테연습 > 프로그래머스' 카테고리의 다른 글
코딩 기초 트레이닝 > 배열 만들기 5 (0) | 2023.08.22 |
---|---|
⭐ 코딩 기초 트레이닝 > 문자열 여러 번 뒤집기 java (0) | 2023.08.21 |
코딩 기초 트레이닝 > 9로 나눈 나머지 Java # 문자의 숫자값 얻기 - 아스키 코드 사용 (0) | 2023.07.31 |
⭐⭐ 코딩 기초 트레이닝 > 주사위 게임 3 Java ( 미완 ) (0) | 2023.07.31 |
코딩 기초 트레이닝 > 간단한 논리 연산 Java (0) | 2023.07.31 |