본문 바로가기

Coding Test

[카카오기출] 프로그래머스_튜플_Lv2

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

 

프로그래머스

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

programmers.co.kr

풀이 

  • 여기서 중요한 점은 어떤 순서로 각원소들을 저장할 것이냐인듯하다 
  • 만약 원소의 갯수가 4개라면 1개, 2개, 3개, 4개로 나뉘므로 나는 해당 집합을 길이로 정렬시켜줬다. 
  • 그리고 각각의 1개, 2개, 3개, 4개의 원소들을 돌면서 answer에 순서대로 값을 넣어주게 했는데, 
    • 리스트로 바꿔서 리스트의 원소 유무 방법인 'in'연산자를 사용하니 매우 간단하게 문제가 풀렸다. 
    • answer에 1개, 2개, 3개, 4개들의 리스트의 원소의 값이 있다면 pass를 해주고 
    • 없다면 answer에 넣어주도록 했다. 

코드 

def solution(s):
    answer = []
    s = s.replace('{', '')
    s = s.split("},")
    s[-1] = s[-1].replace('}', '')
    s.sort(key=len)
    for i in range(len(s)):
        if i == 0:
            answer.append(int(s[i]))
        else:
            s[i] = s[i].split(",")
            for j in range(len(s[i])):
                if int(s[i][j]) == answer[0]:
                    pass
                elif int(s[i][j]) not in answer:
                    answer.append(int(s[i][j]))
    return answer

카카오 기출중 가장 쉬운문제인듯 .. 

'Coding Test' 카테고리의 다른 글

[Algorithm] DP(Dynamic Programming)  (1) 2023.11.23
[소프티어] 장애물  (0) 2023.11.17
#1541  (0) 2021.05.18
#2447 별찍기 JAVA  (0) 2021.04.06
#10989 수 정렬하기3  (0) 2021.03.30