skinOptions.hljs
백준 / 2839번 설탕배달 / Python
·
coding test - python/백준
*문제 출처는 백준에 있습니다. 문제 제목: 2839번 설탕 배달 문제 사이트: https://www.acmicpc.net/problem/2839 풀이 n = int(input()) result = 0 while n >= 0: if n % 5 == 0: # 5로 나눈 나머지가 0인 경우 result += n // 5 # 5로 나눈 몫 추력 print(result) break n -= 3 # 설탕이 5의 배수가 될때까지 반복 result += 1 # 봉지 추가 else: print(-1) # while문이 거짓이 되면 -1 출력 ※ 알아야 할 것 - while문이 거짓이 되는 경우 while문 밖에서 조건문을 나타내야함
Programmers / 같은 숫자는 싫어 / Python
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 같은 숫자는 싫어 문제 사이트: https://programmers.co.kr/learn/courses/30/lessons/12906 나의 풀이 def solution(arr): answer = [arr[0]] for i in range(1,len(arr)): if arr[i] != arr[i-1]: answer.append(arr[i]) return answer for 문을 돌면서 앞 뒤 문자를비교하는 조건문을 사용하는 것이 좋다. 이 문제를 응용한 다른 문제도 많으니 참고할 것 기본기가 되는 좋은 문제 다른 풀이 1 def no_continuous(s): return [s[i] for i in range(len(s)) if s[i] != s[i+1:..
백준 / 1712번 손익분기점 / Python
·
coding test - python/백준
*문제 출처는 백준에 있습니다. 문제 제목: 1712번 손익분기점 문제 사이트: https://www.acmicpc.net/problem/1712 나의 풀이 (시간 초과로 오답) A, B, C = map(int,input().split()) # A: 고정비용, B: 가변비용. C: 판매가격 i = 1 while True: if B = C * i: i += 1 elif A + (B * i) = c: # 가변비용이 노트북 가격보다 같거나 크면 print(-1) else: print(a//(c-b)+1) ※ 알아야 할 것 - while문을 하지 않아..
백준 / 2941번 크로아티아 알파벳 / Python
·
coding test - python/백준
*문제 출처는 백준에 있습니다. 문제 제목: 2941번 크로아티아 알파벳 문제 사이트: https://www.acmicpc.net/problem/2941 풀이 string = input() alpha_list = ['c=','c-','dz=','d-','lj','nj','s=','z='] for i in alpha_list: string = string.replace(i,'*') print(len(string)) 문제를 풀기 위해서 입력받는 문자에서 alpha_list에 해당되는 단어가 있는 경우, 그 단어를 '*'와 같은 한 글자로 변환을 하고서 이후에 변환된 문자열의 총 글자 수를 세는 방법으로 코드를 작성해야한다. ※ 알아야 할 것 - for 문과 replace를 적절하게 이용하여 문자를 *로 바꿔..
백준 / 1157번 단어공부 / Python
·
coding test - python/백준
*문제 출처는 백준에 있습니다. 문제 제목: 1157번 단어공부 문제 사이트: https://www.acmicpc.net/problem/1157 나의 풀이 string = input().upper() #문제 조건에서 대소문자 구분X, 모두 대문자 처리 alpha_list = list(set(string)) #count함수를 사용하기위해 중복을 제거한 리스트 생성 cnt_list = [] #count수를 저장하기 위한 리스트 for i in alpha_list: #count의 수를 저장하기 위해 for문 생성 cnt = string.count(i) cnt_list.append(cnt) if cnt_list.count(max(cnt_list)) >1: #cnt_list에서 가장 큰 값의 수가 1개 이상이면 ..
Programmers / 나누어 떨어지는 숫자 배열 / Python
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 나누어 떨어지는 숫자 배열 문제 사이트: https://programmers.co.kr/learn/courses/30/lessons/12910 나의 풀이 def solution(arr, divisor): answer = [] for i in arr: if i % divisor == 0: answer.append(i) if answer == []: return [-1] answer.sort() return answer 모범답안 def solution(arr, divisor): return sorted([n for n in arr if n%divisor == 0]) or [-1] ※ 알아야 할 것 - python은 or 앞이 참일경우 해당 값까지만 , 거짓..
Programmers / 제일 작은 수 제거하기/ Python
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 제일 작은 수 제거하기 문제 사이트: https://programmers.co.kr/learn/courses/30/lessons/12935 나의 풀이 def solution(arr): arr.remove(min(arr)) if arr == []: arr.append(-1) return arr ※ 알아야 할 것 - min() 함수는 리스트의 최솟값을 반환한다.
Programmers / 자연수 뒤집어 배열로 만들기 / Python
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 자연수 뒤집어 배열로 만들기 문제 사이트: https://programmers.co.kr/learn/courses/30/lessons/12932 나의 풀이 def solution(n): return list(map(int,reversed(str(n)))) ※ 알아야 할 것 - str로 받은 함수를 다시 int로 만들어야한다..
Programmers / 문자열 내림차순으로 배치하기 / Python
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 문자열 내림차순으로 배치하기 문제 사이트: https://programmers.co.kr/learn/courses/30/lessons/12917 나의 풀이 def solution(s): answer = '' a = sorted(s, reverse = True) answer = ''.join(a) return answer sorted 함수와 join함수를 이용하였다. sorted함수는 리스트 함수를 정열하는 함수라서 join함수를 이용하여 리스트 형태가 아닌 문자열의 형태로 값을 저장하도록 하였다. 모범답안 def solution(s): return ''.join(sorted(s, reverse=True)) ※ 알아야 할 것 - join 함수를 이용하면 ..
Programmers / 문자열 다루기 기본 / Python
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 문자열 다루기 기본 문제 사이트: https://programmers.co.kr/learn/courses/30/lessons/12918 나의 풀이 def solution(s): if s.isnumeric() == True : if len(s) == 4 or len(s) == 6: return True else: return False else: return s.isnumeric() isnumeric() 함수는 값이 숫자인 경우 True, 그 외에는 False를 반환한다. 모범답안 def alpha_string46(s): return s.isdigit() and len(s) in (4, 6) 'len(s) 값이 [4,6]리스트에 포함되어 있나' 라는 코드..
Programmers / 서울에서 김서방 찾기 / Python
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 서울에서 김서방 찾기 문제 사이트: https://programmers.co.kr/learn/courses/30/lessons/12919 나의 풀이 def solution(seoul): return "김서방은 {}에 있다" .format(seoul.index('Kim')) ※ 알아야 할 것 - 인덱스 함수를 이용하면 바로 구할 수 있는 아주 쉬운 문제이다.
Programmers / 약수의 합 / Python
·
coding test - python/Programmers
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 약수의 합 문제 사이트: https://programmers.co.kr/learn/courses/30/lessons/12928 나의 풀이 def solution(n): s = [] for i in range(1,n+1): if n % i == 0: s.append(i) return sum(s) 모범답안 def sumDivisor(num): # num / 2 의 수들만 검사하면 성능 약 2배 향상잼 return num + sum([i for i in range(1, (num // 2) + 1) if num % i == 0]) ※ 알아야 할 것 - num / 2의 수만 검사한다니... 그러고보니 맞는 말이다. 반을 넘어간 값은 검사하지 않아도 된다.