코테/프로그래머스

[프로그래머스/Lv. 1] 숫자 짝꿍

imname1am 2023. 3. 3. 14:51
반응형

🔺 문제

 

프로그래머스

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

programmers.co.kr

 

🔺 코드

고민 좀 해보다가 모르겠어서 다른 분 코드를 보았다...

 

[프로그래머스] Lv.1 숫자 짝꿍(JAVA)

https://school.programmers.co.kr/learn/courses/30/lessons/131128 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞

2dahm.tistory.com

class Solution {
    public String solution(String X, String Y) {
        
        int[] cntX = new int[10];
        int[] cntY = new int[10];
        
        for(String tmpX : X.split("")) cntX[Integer.parseInt(tmpX)]++;
        for(String tmpY : Y.split("")) cntY[Integer.parseInt(tmpY)]++;
        
        StringBuilder sb = new StringBuilder();
        
        for(int i = cntX.length - 1; i >= 0 ; i--) {
            while(cntX[i] > 0 && cntY[i] > 0) {
                sb.append(i);
                cntX[i]--;
                cntY[i]--;
            }
        }
        
                
        String answer = "";
        
        if("".equals(sb.toString())) {
            answer = "-1";
        } else if("0".equals(sb.toString().substring(0,1))) {
            answer = "0";
        } else {
            answer = sb.toString();
        }
        
        return answer;
    }
}

String으로 하면 시간초과가 뜨고 실패한다고 한다...

그래서 StringBuilder를 이용하신 것이라고...

 

우와.. 종이에 직접 배열 그려보고 써보고서야 저 식을 이해했다....

나중에 다시 꼭 복습해야지

우와... 용량과 점수가 이렇게나 클 일...????😭


(참고)

 

[JAVA] StringBuilder란? StringBuilder 사용법

자바에서 문자열하면 String을 대개 많이 떠올리고 사용할 것이다. 그런데 이 문자열이 1개 이상 있어서 이것들을 더해야 한다고 하면 어떤 방법을 쓸 수 있을까? 간단하게는 이 방법을 쓸 수 있을

onlyfor-me-blog.tistory.com

 

자바 StringBuilder 사용법 및 사용하는 이유

StringBuilder 사용법 및 사용하는 이유 자바에서 문자열하면 자연스럽게 String이 떠오른다. String은 소위 불변(immutable)객체라고 한다. String str1 = "abc";, String str2 = "def"; 2개의 String객체가 있을 때, 만

hardlearner.tistory.com

 

반응형