(Java) 프로그래머스 튜플

2021. 12. 21. 00:03·코딩 테스트

문제가 복잡하게 쓰여있는데 차근히 읽어보니 어렵지 않았다.

풀이 방법은 바로 보이는데 String으로 넘어오는 s를 어떻게 배열로 변환할지 생각하는데 시간을 많이 썼다.


최종 코드

import java.util.*;
class Solution {
    public int[] solution(String s) {
        int[] answer = {};
                // s의 맨 앞 {{ 부분 자르기
        s = s.substring(2, s.length());
        // s의 맨 뒤 }} 부분 자르고 },{ 부분 -로 변경
        s = s.substring(0, s.length()-2).replace("},{", "-");
        // -을 기준으로 자르기
        String[] temp = s.split("-");
        // 람다를 이용해서 길이별로 정렬
        Arrays.sort(temp, (a,b) -> (a.length()-b.length()));

        // 튜플을 위한 리스트 생성
        List<Integer> list = new ArrayList<>();

        for(String a : temp) {
            // ,을 기준으로 다시 나누기
            String[] temp2 = a.split(",");
            for (int i = 0; i < temp2.length; i++) {
                int n = Integer.parseInt(temp2[i]);
                // 튜플에 값이 없다면
                if(!list.contains(n)) {
                    list.add(n);
                }
            }
        }
        answer = list.stream().mapToInt(i -> i).toArray();
        return answer;
    }
}

'코딩 테스트' 카테고리의 다른 글

(Java) 프로그래머스 프린터  (0) 2022.01.16
(Java) 프로그래머스 전화번호 목록  (0) 2022.01.16
(Java) 프로그래머스 H-Index  (0) 2021.12.20
(Java) 프로그래머스 가장 큰 정사각형 찾기  (0) 2021.12.20
(Java) 프로그래머스 땅따먹기  (0) 2021.12.15
'코딩 테스트' 카테고리의 다른 글
  • (Java) 프로그래머스 프린터
  • (Java) 프로그래머스 전화번호 목록
  • (Java) 프로그래머스 H-Index
  • (Java) 프로그래머스 가장 큰 정사각형 찾기
로승리
로승리
  • 로승리
    Roy's Blog
    로승리
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Issuefy
      • Language
      • Spring
      • Database
      • Network
      • Kubernetes
      • AWS
      • 코드스쿼드
      • 코딩 테스트
      • 생각정리
      • 국비지원
      • 회고
      • 컨퍼런스, 세미나
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
로승리
(Java) 프로그래머스 튜플
상단으로

티스토리툴바