거북이개발자

[프로그래머스] 나누어 떨어지는 숫자 배열, 두 정수 사이의 합, 문자열 내 마음대로 정렬하기, 문자열 내 p와 y의 개수, 문자열 내림차순으로 배치하기, 문자열 다루기 기본, 서울에서 김서방 .. 본문

Algorithm(Python)/programmers(Lv.1)

[프로그래머스] 나누어 떨어지는 숫자 배열, 두 정수 사이의 합, 문자열 내 마음대로 정렬하기, 문자열 내 p와 y의 개수, 문자열 내림차순으로 배치하기, 문자열 다루기 기본, 서울에서 김서방 ..

류정식 2021. 7. 1. 20:48

0. 제목

  • 프로그래머스 나누어 떨어지는 숫자 배열
  • 프로그래머스 두 정수 사이의 합
  • 프로그래머스 문자열 내 마음대로 정렬하기
  • 프로그래머스 문자열 내 p와 y의 개수
  • 프로그래머스 문자열 내림차순으로 배치하기
  • 프로그래머스 문자열 다루기 기본
  • 프로그래머스 서울에서 김서방 찾기
  • 프로그래머스 수박수박수박수박수박수
  • 프로그래머스 문자열을 정수로 바꾸기
  • 프로그래머스 시저 암호
  • 프로그래머스 약수의 합
  • 프로그래머스 자릿수 더하기
  • 프로그래머스 자연수 뒤집어 배열로 만들기
  • 프로그래머스 정수 내림차순으로 배치하기
  • 프로그래머스 정수 제곱근 판별
  • 프로그래머스 제일 작은 수 제거하기

 


1. 문제

https://programmers.co.kr/learn/challenges

 

코딩테스트 연습

기초부터 차근차근, 직접 코드를 작성해 보세요.

programmers.co.kr

 


2. 풀이

  • 구현문제라서 어려운 부분은 없었다.

3. 코드

  • 프로그래머스 나누어 떨어지는 숫자 배열
def solution(arr, divisor):
    answer = []
    
    for i in arr:
        if i%divisor==0:
            answer.append(i)
    answer.sort()
    if len(answer)==0:
        answer.append(-1)
    return answer
  • 프로그래머스 두 정수 사이의 합
def solution(a, b):
    answer=0
    numbers=[]
    numbers.append(a)
    numbers.append(b)
    numbers.sort()
    
    for i in range(numbers[0], numbers[1]+1):
        answer+=i
    
    return answer
  • 프로그래머스 문자열 내 마음대로 정렬하기
def solution(strings, n):
    answer = []
    
    strings.sort()
    answer=sorted(strings, key=lambda x: x[n])
    return answer
  • 프로그래머스 문자열 내 p와 y의 개수
def solution(s):
    answer = True
    a=0
    b=0
    s=s.upper()
    
    for i in s:
        if i =='P':
            a+=1
        elif i=='Y':
            b+=1
        
    if a!=b:
        answer = False
    return answer
  • 프로그래머스 문자열 내림차순으로 배치하기
def solution(s):
    answer = ''
    up=''
    for i in s:
        if i.isupper():
            up+=i
            s=s.replace(i, "", 1)
            
    
    answer=sorted(s, reverse=True)
    up=sorted(up, reverse=True)
    
    answer=''.join(answer)
    up=''.join(up)
    
    return answer+up
  • 프로그래머스 문자열 다루기 기본
def solution(s):
    answer = True
    if len(s)!=4 and len(s)!=6:
        answer=False
    if s.isdigit()==False:
        answer=False
        
    return answer
  • 프로그래머스 서울에서 김서방 찾기
def solution(seoul):
    answer = ''
    for i in range(0, len(seoul)):
        if seoul[i]=="Kim":
            answer="김서방은 "+str(i)+"에 있다"
    return answer
  • 프로그래머스 수박수박수박수박수박수
def solution(s):
    answer = 0
    
    answer=int(s)
    return answer
  • 프로그래머스 문자열을 정수로 바꾸기
def solution(s):
    answer = 0
    
    answer=int(s)
    return answer
  • 프로그래머스 시저 암호
def solution(s, n):
    answer = ''
    for i in s:
        unicodenum=0
        
        if i==' ':
            answer+=' '
        elif i.isupper():
            unicodenum=(ord(i)+n)
            if unicodenum>=91:
                unicodenum-=26
            
            answer+=chr(unicodenum)
        else:
            unicodenum=(ord(i)+n)
            if unicodenum>=123:
                unicodenum-=26
            answer+=chr(unicodenum)
            
            
    return answer
  • 프로그래머스 약수의 합
def solution(n):
    answer = 0
    
    for i in range(1, n+1):
        if n%i==0:
            answer+=i
    
    return answer
  • 프로그래머스 자릿수 더하기
def solution(n):
    answer = 0
    for i in str(n):
        answer+=int(i)
    
    
    return answer
  • 프로그래머스 자연수 뒤집어 배열로 만들기
def solution(n):
    answer = []
    
    for i in str(n):
        answer.insert(0, int(i))
    return answer
  • 프로그래머스 정수 내림차순으로 배치하기
import math
def solution(n):
    answer = 0
    a=(int(math.sqrt(n)))
    
    if a*a==n:
        answer=(a+1)*(a+1)
    else:
        answer=-1
    return answer
  • 프로그래머스 정수 제곱근 판별
import math
def solution(n):
    answer = 0
    a=(int(math.sqrt(n)))
    
    if a*a==n:
        answer=(a+1)*(a+1)
    else:
        answer=-1
    return answer
  • 프로그래머스 제일 작은 수 제거하기
def solution(arr):
    answer = []
    min_num=min(arr)
    arr.remove(min_num)
    if arr==[]:
        answer=[-1]
    else:
        answer=arr
    return answer
Comments