_won_
wonprogrammer
_won_
전체 방문자
오늘
어제
  • 분류 전체보기
    • woncoding
      • TIL
      • WIL
    • source Code
      • Python
      • Programmers
      • BAEKJOON

블로그 메뉴

  • 방명록

티스토리

Github · Wonprogrammer
hELLO · Designed By 정상우.
_won_

wonprogrammer

source Code/Programmers

Programmers | week1 문제 풀이

2023. 2. 9. 14:06

Programmers 문제 풀이

1. 평균 구하기

def solution(arr):
    allsum = sum(arr)
    count = len(arr)
    answer = allsum / count
    return answer

 

 

2. 짝수와 홀수

def solution(num):
    if num % 2 == 0:
        answer = 'Even'
    else:
        answer = 'Odd'
    return answer

 

 

3. 자릿수 더하기

def solution(n):
    answer = 0
    n = str(n)
    for i in n:
        i = int(i)
        answer += i

    return answer

 

 

4. 자연수 뒤집어 배열로 만들기

def solution(n):
    n = str(n)
    answer = []
    for i in n[::-1]:
        i = int(i)
        answer.append(i)

    return answer

 

 

5. 숫자 문자열과 영단어 - 2021 카카오 채용연계형 인턴십

def solution(s):

    s = s.replace('zero','0')
    s = s.replace('one', '1')
    s = s.replace('two', '2')
    s = s.replace('three', '3')
    s = s.replace('four', '4')
    s = s.replace('five', '5')
    s = s.replace('six', '6')
    s = s.replace('seven', '7')
    s = s.replace('eight', '8')
    s = s.replace('nine', '9')

    s = int(s)
    
    return s

 

 

6. 체육복 - 탐욕법(Greedy)

# set의 차집합을 이용한 답안코드

def solution(n, lost, reserve):
    reserve_del = set(reserve) - set(lost) 
    lost_del = set(lost)- set(reserve)

    for i in reserve_del: 
        if i-1 in lost_del:
            lost_del.remove(i-1) 
        elif i+1 in lost_del:
            lost_del.remove(i+1) 
        
    return n - len(lost_del)

 

 

7. 비밀지도 - 2018 KAKAO BLIND RECRUITMENT

# 비트연산과 이진수 변환을 이용한 답안코드

def solution(n, arr1, arr2):
    answer = [''] * n
    for i in range(len(arr1)):
        bin1 = bin(arr1[i])[2:].zfill(n)
        bin2 = bin(arr2[i])[2:].zfill(n)
        for j in range(n):
            if bin1[j] == '0' and bin2[j] == '0':
                answer[i] += ' '
            else:
                answer[i] += '#'
    return answer
    
#한 문자열에 'n의 크기'만큼 들어가야 하므로 append로 넣어주게 되면 '하나'하나씩 들어가게 되어 원하는 값을 받을 수 없다

 

 

8. 약수의개수와덧셈-월간코드챌린지시즌2

def solution(left, right):
    answer = 0
    for i in range(left, right+1):
        count = 0
        for n in range(1, i+1):
            if i % n == 0:
                count += 1
        if count % 2 == 1:
            i = -i
        
        answer += i

    return answer

 

 

9. 없는숫자더하기-월간코드챌린지시즌3

def solution(numbers):
    answer = 0
    for n in range(0,10,1):
        if n not in numbers:
            answer += n
    
    return answer

 

 

10. 완주하지 못한 선수 – 해시

# 1. 외부모듈 이용한 해결방법
import collections 
def solution(participant, completion): 
    answer = collections.Counter(participant) - collections.Counter(completion) 
    return list(answer.keys())[0]

print(solution(["marina", "josipa", "nikola", "vinko", "filipa"], ["josipa", "filipa", "marina", "nikola"]))
# 2. 딕셔너리 활용
def solution(participant, completion): 
    temp = {}
    for i in participant : 
        if i in temp :
            temp[i]+=1 
        else:
            temp[i] =1

    for i in completion : 
        if temp[i]==1 :
            del temp[i] 
        else :
            temp[i] -=1 
    
    return list(temp.keys())[0]

 


 

[문제 풀이 Github]

https://github.com/wonprogrammer/programmers.git

 

GitHub - wonprogrammer/programmers: programmers 알고리즘 풀이

programmers 알고리즘 풀이. Contribute to wonprogrammer/programmers development by creating an account on GitHub.

github.com

 

저작자표시 비영리 변경금지 (새창열림)

'source Code > Programmers' 카테고리의 다른 글

Programmers | week3 문제 풀이  (0) 2023.02.09
Programmers | week2 문제 풀이  (0) 2023.02.09
    'source Code/Programmers' 카테고리의 다른 글
    • Programmers | week3 문제 풀이
    • Programmers | week2 문제 풀이
    _won_
    _won_
    Coding Practice blog

    티스토리툴바