from collections import Counter

def solution(v):
    ans = []
    v1 = sum(v,[])
    v_x = v1[0::2]
    v_y = v1[1::2]

    counts_x = Counter(v_x)
    for element, value in counts_x.items():
        if value%2 != 0:
            ans.append(element)

    counts_y = Counter(v_y)
    for element, value in counts_y.items():
        if value%2 != 0:
            ans.append(element)
            
    return ans

- 문제

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

 

프로그래머스

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

programmers.co.kr

- 코드 및 문제 풀이

 

from string import ascii_lowercase

a= list(ascii_lowercase)

 

를 하면 소문자 알파벳을 순서대로 나열한 리스트가 생성된다. 라이브러리를 알고 있으면 편리하니까 외우도록 하기!!

from string import ascii_lowercase

def solution(s, skip, index):
    al_list = list(ascii_lowercase)
    answer = []

    for i in range(len(skip)):
        del al_list[al_list.index(skip[i])]

    for i in range(len(s)):
        ans = al_list[(al_list.index(s[i])+index) %len(al_list)]
        answer.append(ans)

    return ''.join(answer)

문제가 너무 길어서 이해하는데만 시간이 오래걸렸다x0x

다른 사람들이 푼 걸 보면 zip함수를 많이 사용하던데 이것도 공부해야겠다. enumerate함수랑 zip함수 for문에 적용해보기 연습하기!

❤️문제

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

❤️내 코드

def solution(survey, choices):
    answer = ''
    score_dict = {'R':0, 'T':0, 'C':0, 'F':0, 'J':0, 'M':0, 'A':0, 'N':0}
    scores = [3,2,1,0,1,2,3]
    for i in range(len(survey)):
        a = survey[i][0]  
        b = survey[i][1]  
        if choices[i] - 4 > 0:
            score_dict[b] += scores[choices[i]-1]  
        elif choices[i] -4 < 0:
             score_dict[a] += scores[choices[i]-1] 
        else:
            continue
    answer += "R" if score_dict["R"] >= score_dict["T"] else "T"
    answer += "C" if score_dict["C"] >= score_dict["F"] else "F"
    answer += "J" if score_dict["J"] >= score_dict["M"] else "M"
    answer += "A" if score_dict["A"] >= score_dict["N"] else "N"
    
    return answer

 

❤️다른 사람 코드 참고

def solution(survey, choices):

    my_dict = {"RT":0,"CF":0,"JM":0,"AN":0}
    for A,B in zip(survey,choices):
        if A not in my_dict.keys():
            A = A[::-1]
            my_dict[A] -= B-4
        else:
            my_dict[A] += B-4

    result = ""
    for name in my_dict.keys():
        if my_dict[name] > 0:
            result += name[1]
        elif my_dict[name] < 0:
            result += name[0]
        else:
            result += sorted(name)[0]

    return result

 

'Language & OS > Programmers' 카테고리의 다른 글

샘플 코딩 시험 문제  (0) 2023.10.27
[프로그래머스] 파이썬 둘만의 암호  (0) 2023.02.09

+ Recent posts