티스토리 뷰

반응형

https://school.programmers.co.kr/learn/courses/30/lessons/118666?language=python3 

 

프로그래머스

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

programmers.co.kr


⊙ 문제

⊙ 제한사항

⊙ 입출력 예

 


 

⊙ 문제 접근 과정

 

servey와 choices가 주어진다.

servey는 앞은 비동의일 때, 뒤는 동의일 때 어떤 유형인지 알려준다.

choices는 동의 여부에 대해 알려준다.

 

4를 분기점으로 나눈다. 이때 4의 경우는 결과에 영향이 없어서 고려해주지않았어요.

배열을 하나 만들고 거기에 점수만큼의 해당 유형을 추가해주었다.

 

count함수를 통해 개수를 세고 더 많은 유형을 result 문자열에 추가해주었다.

동일한 경우에는 앞의 유형을 우선으로 추가.

 


 

⊙ 문제 풀이

 

def solution(survey, choices):
    answer = []
    result = ""
    
    for cnt in range(len(survey)):
        if choices[cnt] < 4:
            for _ in range(4-choices[cnt]):
                answer.append(survey[cnt][0])
        if choices[cnt] > 4:
            for _ in range(choices[cnt]-4):
                answer.append(survey[cnt][1])
        
    if answer.count('R') < answer.count('T'): result+='T'
    else: result+='R'
    if answer.count('C') < answer.count('F'): result+='F'
    else: result+='C'
    if answer.count('J') < answer.count('M'): result+='M'
    else: result+='J'
    if answer.count('A') < answer.count('N'): result+='N'
    else: result+='A'
        
    return result

⊙ 마무리

 

 

잊을만하면 돌아오는 알고리즘

 

 

좋아요는 로그인하지 않아도 누를 수 있습니다!

728x90
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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
글 보관함