Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 주니어 백엔드 개발자
- Next.js
- tmax tibero
- java #예외처리 #throw #throws
- 정보처리기사 실기 #정처기 실기 #2024년 2회 #정처기 2024년 2회 #공부법 # 꿀팁
- software enginner
- heap area #stack area #static area #jvm
- tibero 7.23
- server engineer
- 서버 개발자
- 2798블랙잭
- server developer
- 서버 엔지니어
- 나는야 4학년 #5학년 까지 가보자구
- 올 겨울은 조금 따뜻할 것 같다.
- static #자바 메모리 구조 #멤버 변수
- ndc2025
- 브루트 포스법
- 반복문
- 이분탐색
- level2
- 2026 하반기 대기업 반드시 갑니다
- java #추상클래스
- 25304번
- 백엔드 개발자 로드맵
- level3
- object 클래스 # java
- 자바 #자바문법 #자바기초 #참조형 #기본형
- Spring
- 넥슨개발자컨퍼런스
Archives
- Today
- Total
개발자 쿠키
[프로그래머스/python] Lv.2 2019 카카오 개발자 겨울 인턴십 튜플 본문
https://school.programmers.co.kr/learn/courses/30/lessons/64065
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
def solution(s):
s = s[2:-2].split("},{")
arr = []
for i in range(len(s)):
s1 = s[i].split(",")
arr.append(set(s1))
arr.sort(key=lambda x: len(x))
ans = set()
res = []
for a in arr:
tmp = a - ans
res.append(list(tmp)[0])
ans = ans | tmp
res = [int(i) for i in res]
return res
풀이
배열 길이를 기준으로 오름차순 정렬
문자열 처리, 예외 처리에 유의해야 함.
#1 문자열 처리
s = "{{2},{2,1},{2,1,3},{2,1,3,4}}"
- set 안에 set이 있는 구조. 시작 문자열과 끝 문자열 2개의 {와 } 글자를 제거해야 함.
- {2}, {2,1}과 같이 서로 다른 집합 간에 }, { 으로 구분되어 있음.
s = s[2:-2].split("},{")
# 출력
['1,2,3', '2,1', '1,2,4,3', '2']
- ‘1,2,3’ ,를 기준으로 set을 만든다.
for i in range(len(s)):
s1 = s[i].split(",")
arr.append(set(s))
arr.sort(key=lambda x: len(x))
- set 원소의 길이를 기준으로 오름차순 정렬
#2 정답 튜플 고르기
ans = set()
res = []
for a in arr:
tmp = a - ans
res.append(list(tmp)[0])
ans = ans | tmp
res = [int(i) for i in res]
return res
- 원소의 갯수가 k인 집합과 k+1 집합의 차지합을 tmp에 저장한다.
- 문제에서 자연수로 반환해야 함. set 자료형의 특성상 값을 접근하기 위해서는 리스트 혹은 튜플로 변환해야 함.
- list로 변환하고 [0]번째 인덱스 값을 넣는다.
- 자연수로 반환해야 하기 때문에 [int(i) for i n res]로 res 값의 원소를 자연수로 변환한다.
'algorithm' 카테고리의 다른 글
| [프로그래머스/python] Lv.2 기능개발 (0) | 2024.08.05 |
|---|---|
| [백준(BOJ)]15650번 : 15650 N과 M (2) - Python(파이썬) - (실버3, 순열과 조합) (2) | 2024.08.01 |
| [프로그래머스/python] Lv.2 할인 행사 (0) | 2024.07.06 |
| [프로그래머스/python] Lv.2 큰 수 만들기 (0) | 2024.07.02 |
| [프로그래머스/python] Lv.2 땅따먹기 (0) | 2024.06.26 |