
프로그래머스 서울에서 김서방 찾기 문제는
String 형태의 배열을 하나 받아서
Kim 이라는 값이 적힌 배열이 몇번째 값인지 알아내는 문제인데
제한사항은 별로 중요하지 않고 배열 안에 Kim이
어디에 들어있는지만 확인하면 된다
내 풀이방법은 다음과 같은데

일단 배열을 보낸 뒤에
for문을 배열의 길이만큼 돌리는데
i = 0; i<배열명.length; i++
로 배열의 처음부터 끝까지 확인이 가능하다
이제 for문 안에서
if문을 넣어서 Kim과 같은 경우를 확인해줘야 하는데
seoul[i] == "Kim"이 아니라
seoul[i].equals("Kim")을 쓰는 이유는
비교하는 해시코드 주소가 다르기 때문인데
때문에 숫자가 아닌 문자를 비교할 때에는 반드시 ==가 아닌 eqauls를 사용해 줘야 한다
정확히는 아래 글을 참조해주면 된다
자바 ==와 equals() 차이 알아보기
자바 처음 하면 다들 하는 실수인데 나도 처음에 이걸로 개삽질 꽤 한거 같다 보면 String a나 b나 똑같은 haha라 비교 시 당연히 True가 뜰 것 같은데 예상을 뒤엎고 false가 뜬다 아니 똑같은 haha인데 왜 다..
flatsun.tistory.com
마지막으로 Kim을 찾고 나면
바로 break;를 넣어주는데
이미 Kim을 찾은 상황에서 for문을 더 돌릴 필요가 없기 때문에
break;를 넣어 바로 반복문을 중단시키고 값을 반환하는 것이다
마지막으로 프로그래머스 답안 제출 시에는
아래 코드를 복붙하면 된다
class Solution {
public String solution(String[] seoul) {
String answer = "";
for(int i = 0; i<seoul.length; i++) {
if(seoul[i].equals("Kim")) {
answer = "김서방은 " + i + "에 있다";
break;
}
}
return answer;
}
}
'IT > Algorithm' 카테고리의 다른 글
프로그래머스(Programmers) 문자열 내 p와 y의 개수(java) (0) | 2019.08.10 |
---|---|
프로그래머스(Programmers) 같은 숫자는 싫어(java) (0) | 2019.08.08 |
프로그래머스(Programmers) 가운데 글자 가져오기(java) (0) | 2019.08.08 |
프로그래머스(Programmers) 문자열 다루기 기본 풀이(java) (0) | 2019.08.08 |
프로그래머스(Programmers) 수박수박수박수박수박수? 풀이(java) (0) | 2019.08.07 |
댓글