TIL 2일차

Gichan,Kim·2020년 7월 14일
0

TIL

목록 보기
2/10

간단하게 오늘 배운 내용만 적는다는 걸.. 길게 포스팅을 해 버렸다..
오늘부터는 내가 알게 된 내용만 간단히 적을 예정이다 ...

자바로 프로그래머스 풀기

원래 알고리즘을 python 을 가지고 풀었었다.. 파이썬이 자료형을 다루기도 편하고, 자동완성이 없어도 간단하게 잘 사용을 할 수 있기 때문이였다.. 자바같은 경우는 import, 함수 이름이 헷갈리기도 하고 해서 오늘부터는 내가 푼 문제를 자바로 한번 풀어보려고 하면서 배운 내용을 정리해 볼 예정이다..

프로그래머스의 문자열 내 마음대로 정렬하기 문제이다.

import java.util.*;

class Solution {
    public String[] solution(String[] strings, int n) {
        String[] answer = {};
        Arrays.sort(strings, new Comparator<String>() {
            @Override
            public int compare(String a, String b) {
                return a.charAt(n) - b.charAt(n) == 0 ? a.compareTo(b) : a.charAt(n) - b.charAt(n);
            }
        });
        return strings;
    }
}

comparator 를 안의 compare를 재정의 해였다. 근데 문제에서 인덱스가 같을 경우는 사전순으로 앞선 문자열이 앞쪽에 위치한다라는 조건때문에 조금 애를 먹었다.
정렬을 2번 하는건 좀 말이 안 되는것 같았다..

매개변수 1 - 매개변수 2 -> 오름차순
매개변수 2 - 매개변수 1 -> 내림차순

compareTo() 메소드를 사용했는데 특징이 있었다.. 문자열의 경우 0,-1, 1을 반환하는게 아니라 차이만큼을 반환했다. 물론 쓸일은 없어보이지만 일단 외워둬야겠다.

이것 말고도 간단하게 몇문제를 풀어보았다

profile
취업준비생 웹 개발자

0개의 댓글