-
프로그래머스 - 서울에서 김서방 찾기알고리즘 2022. 6. 4.반응형
내 풀이
public class P_21 { public String solution(String[] seoul) { String answer = ""; for(int i=0; i<seoul.length; i++) { if(seoul[i].equals("Kim")) { answer = String.valueOf(i); } } return "김서방은 " + answer + "에 있다"; } public static void main(String[] args) { // 서울에서 김서방 찾기 P_21 p = new P_21(); String [] x = {"Jane", "Kim"}; System.out.println(p.solution(x)); } }
단순하게 반복문 돌려서 인덱스를 찾았다.
다른 사람들의 풀이를 보면서 느낀점은 반복문 중간에 if 문의 조건이 활성화 되었을 경우 break를 걸어주면 반복문이 덜 돌기 때문에 효율적이라는 댓글을 보았다.
확실히 굳이 원하는 인덱스를 찾았으면 나머지까지 볼 필요 없이 반복문을 빠져나오는게 훨씬 효율적이다.
수정한 코드
for(int i=0; i<seoul.length; i++) { if(seoul[i].equals("Kim")) { answer = String.valueOf(i); break; } }
다른 사람 풀이
public String findKim(String[] seoul){ //x에 김서방의 위치를 저장하세요. int x = Arrays.asList(seoul).indexOf("Kim"); return "김서방은 "+ x + "에 있다"; }
Arrays.asList() 를 통해서 배열 seoul을 list로 담는다.
리스트 안에서 특정 요소의 인덱스를 찾기 위해서 indexOf를 사용한다.
결과적으로 반환 되는 값은 int 이기 때문에 int로 잡는다.
반응형'알고리즘' 카테고리의 다른 글
프로그래머스 - 문자열 다루기 기본 (0) 2022.06.06 프로그래머스 - 소수 찾기 (0) 2022.06.05 프로그래머스 - 수박수박수박수박수박수? (0) 2022.06.03 프로그래머스 - MySql JOIN 보호소에서 중성화한 동물 (0) 2022.06.02 프로그래머스 - MySql GROUP BY 입양 시각 구하기(2) (0) 2022.05.30