728x90
반응형
프로그래머스 서울에서 김서방 찾기 (코딩 테스트, 알고리즘)
URL
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 안에 포함되어 있습니다.
입출력 예
seoul | return |
["Jane", "Kim"] | "김서방은 1에 있다" |
문제 풀이
class Solution {
public String solution(String[] seoul) {
String answer = "";
for(int i=0; i<seoul.length; i++){
if(seoul[i].equals("Kim")){
answer="김서방은 "+i+"에 있다";
}
}
return answer;
}
}
보다시피 문제만 이해하면 간단한 문제입니다.
seoul이라는 배열에서 각 요소에 문자열 "Kim"이랑 같은지 확인하고 해당 위치(index)를 찾아서 return하면 끝!
① 먼저 seoul 배열의 길이를 확인 후 그 길이만큼 for문을 돌립니다.
② for문이 1회 돌때마다 증가하는 i 값을 이용하여 seoul[i].equals("Kim");
으로 seoul[i]의 값이 "Kim"과 같을 때 answer을 결과 양식대로 초기화하여 return
합니다.
* 하지만 이미 김서방을 찾았는데도 불구하고 for문이 계속 도는 것은 의미 없기 때문에 아래와 같이 찾으면 바로 return
시켜주는 방법도 있습니다.
class Solution {
public String solution(String[] seoul) {
String answer = "";
for(int i=0; i<seoul.length; i++){
if(seoul[i].equals("Kim")){
return "김서방은 "+i+"에 있다";
}
}
return answer;
}
}
ps) 문자열끼리 비교는 ==을 사용하지 않고 equals();
메서드를 활용하여 문자열이 같은지 비교합니다.
728x90
반응형
'개발 기록 > 코딩테스트 풀이 기록' 카테고리의 다른 글
[알고리즘, 코딩 테스트] 문자열 다루기 기본 Integer.parseInt(), try catch - Java / 프로그래머스 (1) | 2021.03.25 |
---|---|
[알고리즘, 코딩 테스트] 수박수박수박수? (프로그래머스) - Java (0) | 2021.03.25 |
[백준 BOJ] 2739번 구구단 - Java (알고리즘 : 수학) (0) | 2021.03.22 |
[백준 BOJ] 10869번 사칙연산 - Java (알고리즘 : 수학) (0) | 2021.03.22 |
[백준 BOJ] 10998번 A X B - Java (알고리즘 : 수학) (0) | 2021.03.22 |