[프로그래머스/Java] 튜플

2025. 5. 19. 22:38·Problem Solving/프로그래머스
문제

https://school.programmers.co.kr/learn/courses/30/lessons/64065

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

특정 튜플을 표현하는 집합이 담긴 문자열 `s`가 주어진다.

`s`는 5 이상 1,000,000 이하이며 s는 숫자와 '{', '}', ','로 이루어져 있다.

`s`가 나타내는 튜플을 배열의 형태로 반환해야 한다.

 

풀이

튜플은 원소에 정해진 순서가 있다.

입출력 예시를 보면 `"{{2},{2,1},{2,1,3},{2,1,3,4}}"`가 인자로 들어올 때, ` [2, 1, 3, 4]`를 반환하고 있으므로 원소를 적게 가진 집합을 먼저 결과값에 넣어주어야 한다는 것을 알 수 있다.

`s`를 일단 원소의 개수를 기준으로 오름차순 정렬해주었다. 이렇게 오름차순 정렬된 숫자들을 `Set`에 넣어준다.

 

코드
import java.util.*;

class Solution {
    public Set<Integer> solution(String s) {
        String firstParse = s.replace("{{", "").replace("}}", "").replace("},{", " ");
        String[] elements = firstParse.split(" ");
        
        Arrays.sort(elements, (a, b) -> {
            return a.length() - b.length();
        });
        
        StringBuilder sb = new StringBuilder();
        for (String element : elements) {
            sb.append(element + " ");
        }
        
        String secondParse = sb.toString().replaceAll(",", " ");
        elements = secondParse.split(" ");
        
        Set<Integer> answer = new LinkedHashSet<>();
        for (String element : elements) {
            answer.add(Integer.parseInt(element));
        }
        
        return answer;
    }
}
저작자표시 비영리 동일조건 (새창열림)

'Problem Solving > 프로그래머스' 카테고리의 다른 글

[프로그래머스/Java] N진수 게임 (feat. Java 진법 변환)  (1) 2025.05.23
[프로그래머스/Java] 뉴스 클러스터링  (1) 2025.05.22
[프로그래머스/Java] 캐시  (0) 2025.05.19
[프로그래머스/Java] 비밀지도  (0) 2025.05.14
[프로그래머스/Java] 숫자 문자열과 영단어  (0) 2025.05.14
'Problem Solving/프로그래머스' 카테고리의 다른 글
  • [프로그래머스/Java] N진수 게임 (feat. Java 진법 변환)
  • [프로그래머스/Java] 뉴스 클러스터링
  • [프로그래머스/Java] 캐시
  • [프로그래머스/Java] 비밀지도
friend5hip
friend5hip
개발 관련 지식이나 기록을 남기고 있습니다.
  • friend5hip
    friend5hip
    friend5hip
  • 전체
    오늘
    어제
    • 분류 전체보기 (60)
      • 컴퓨터공학 (2)
        • 자료구조 (0)
        • 알고리즘 (1)
        • 데이터베이스 (1)
      • Problem Solving (42)
        • BOJ (25)
        • 프로그래머스 (15)
      • 언어 (2)
        • JavaScript (2)
      • 라이브러리 (12)
        • React (12)
      • 개발 (2)
      • 기타 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    누적 합
    그리디
    시뮬레이션
    N과 M
    react
    JavaScript
    수학
    정렬
    백준
    삼성 sw 역량테스트
    코드트리
    집합
    vite
    BFS
    dp
    이분 탐색
    구간 합
    문자열
    투 포인터
    완전 탐색
    dfs
    매개 변수 탐색
    백트래킹
    java
    intersection observer
    소수 판별
    맵
    순열
    프로그래머스
    구현
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
friend5hip
[프로그래머스/Java] 튜플
상단으로

티스토리툴바