본문 바로가기
알고리즘 스터디/프로그래머스 스킬체크 레벨 1(끝)

[프로그래머스 스킬체크 레벨 1] 서울에서 김서방 찾기 문제 풀이 및 설명 - 자바[Java]

by 레일라오리덕 2020. 5. 12.
728x90

https://programmers.co.kr/

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

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 안에 포함되어 있습니다.

 

결괏값 예시

seoul return
[Jane, Kim] "김서방은 1에 있다"

 

기본 제공 틀

class Solution {
    public String solution(String[] seoul) {
        String answer = "";
        return answer;
    }
}

 

풀이 [Java]

 

이번에는 배열과 관련된 문제인데요, 아주 간단한 알고리즘 문제입니다 :D

seoul이라는 배열에서 "Kim"이라는 원소를 찾아서 배열의 몇 번째에 위치하고 있는지 찾아내는 문제입니다.

"Kim"이라는 원소의 위치를 찾기 위해서는 먼저, 배열을 한번 돌면서 "Kim"이 몇번째에 위치해있는지 찾아야겠죠?

배열은 [0]부터 시작하기에, for문을 도는 i의 초기값을 0으로 지정해주고, seoul이라는 배열의 길이만큼 돌아서 i값이 며칠 때 "Kim"과 일치하는지 확인하여 i값을 도출해내는 방식으로 답안을 작성해보았습니다.

여기서 중요한 포인트는, "Kim"이라는 글자를 비교하는 메소드.equals가 있다는 점인데요, 이 포인트 또한 중요하게 기억해두시면 좋을 것 같습니다.

원하는 i값을 도출해서 anwer에는 적절한 문장을 아래와 같이 만들어주고 마지막으로 결괏값을 return 하면 예상된 결괏값이 나오게 됩니다!

728x90
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;
    }
}

 

채점 결과 [Java]

 

 

728x90

댓글