본문 바로가기
코딩테스트/프로그래머스 1단계

프로그래머스 1단계 - 문자열 내 마음대로 정렬하기

by SICDev 2021. 4. 24.
반응형

https://programmers.co.kr/learn/courses/30/lessons/12915

 

코딩테스트 연습 - 문자열 내 마음대로 정렬하기

문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱

programmers.co.kr

 

 

class Solution {
  public String[] solution(String[] strings, int n) {

      
      //strings의 배열에 들어가있는 n번째 값을 비교해서 n번째의 알파벳을 비교해서 정렬한다.
      //근데...n번째 알파벳이 똑같다면...? compareTo()메서드를 이용해서 두문자를 비교해서 정렬한다..!
      //예를들어 문제에 나와있는 abce와 abcd를 비교하면 abcd가 abce를 compareTo()메서드를 이용해서 비교하면
      //abcd가 abce보다 크기때문에 0보다 큰 값이 return 될거고, 아니면 0보다 작은값이 반환될거다!
      for(int i=0; i<strings.length-1; i++){
          for(int k=i+1; k<strings.length;k++){
              if(strings[i].charAt(n)>strings[k].charAt(n)){
                  String tmp = strings[i];
                  strings[i]= strings[k];
                  strings[k]=tmp;
              }
              else if(strings[i].charAt(n)==strings[k].charAt(n)){
                  if(strings[i].compareTo(strings[k]) >0){
                      String tmp = strings[i];
                      strings[i]= strings[k];
                      strings[k]=tmp;
                  }
              }
          }
      }
      return strings;
  }
}
반응형