자바/프로그래머스

[Programmers/JAVA] 영어 끝말잇기

2가 2022. 12. 2. 20:59

 

내 코드

 

import java.util.ArrayList;
import java.util.List;
class Solution {
    public int[] solution(int n, String[] words) {
        int[] answer = {0,0};

        List<String> words_list=new ArrayList<String>();
        int index;

        words_list.add(words[0]);
        for(int i=1; i<words.length; i++) {
            index=words_list.indexOf(words[i]);
            if(index==-1 && words[i-1].charAt(words[i-1].length()-1)==words[i].charAt(0)) {
                words_list.add(words[i]);
            }else {
                answer[0]=(i%n)+1;
                answer[1]=(i/n)+1;
                break;
            }
        }

        return answer;
    }
}

 

느낀점

 

어렵지않다. 문제를 계속 풀어보니까 나도 할수있다는 자신감이 붙는다. 근데 코딩 센스는 어디서 배워야하나??

풀 수만 있다.. 더 깔끔하게.. 더 이쁘게... 만들고 싶다. ㅜㅜ

 

리스트를 이용하여 값을 하나씩 추가하며 이 값이 들어있는지 아닌지 체크했다. 한번 만들다가 뒤집어 엎었었는데 훨씬 깔끔하고 보기좋게 나온 것 같아서 맘에 든다.

근데 

words[i-1].charAt(words[i-1].length()-1)==words[i].charAt(0)

이 부분을 변수에 집어넣어서 하는게 더 보기 좋았을라나?? 코린이는 모르겠다...