문제 설명
https://programmers.co.kr/learn/courses/30/lessons/12919
문제 설명String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다.제한 사항
- seoul은 길이 1 이상, 1000 이하인 배열입니다.
- seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다.
- "Kim"은 반드시 seoul 안에 포함되어 있습니다.
문제 해석 및 풀이 방법
1. for문을 통해 인덱스를 하나씩 증가하며 Kim이라는 문자열이 있는지 확인한다.
2. 문자열이 있으면 그 값의 인덱스를 김서방은 ~에 있다.에 ~를 인덱스로 지정하고 반환한다.
내가 작성한 소스코드(Java)
class Solution {
public String solution(String[] seoul) {
String answer = "";
for(int i=0;i<seoul.length;i++){
if(seoul[i].equals("Kim")) return "김서방은 " + Integer.toString(i) + "에 있다";
}
return "";
}
}
for문을 0~seoul의 크기만큼 1씩 증가한다.
그후 seoul[i]의 값에 Kim이 있는지 확인한다.
있으면 return "김서방은" + Integer.toString(i) +"에 있다";를 통해 인덱스 값을 스트링으로 변환 후 반환한다.
결론 및 고찰
이 문제는 단순히 배열안에 Kim이라는 문자가 있는지 확인만 하면 되는 방법이여서 쉬웠다. 이때 주의할점은 Kim을 비교할때 ==이 아닌 equals를 사용해야한다 왜냐하면 ==는 주소를 비교하는 것이고 equals는 객체 그 자체를 비교하는 것이기 때문이다.
소요 시간 5분
'코딩테스트 연습' 카테고리의 다른 글
Programmers 시저암호 Level 1 (0) | 2021.09.01 |
---|---|
Programmers 내적 Level 1 (0) | 2021.08.31 |
Programmers 음양 더하기 Level 1 (0) | 2021.08.29 |
Programmers 소수 찾기 Level 1 (0) | 2021.08.28 |
Programmers 숫자 문자열과 영단어 Level 1 (1) | 2021.08.27 |
댓글