skinOptions.hljs
문제 / 대푯값 / Python
·
coding test - python/기본기 문제
문제 제목: 대푯값 문제 풀이에 앞서 다음 코드를 참고하자 *최솟값 구하기 알고리즘 #최솟값 구하기 알고리즘 arr = [5,3,7,9,2,5,2,6] arrMin=float('inf') #파이썬에서 가장 큰 수를 나타냄 for i in range(len(arr)): if arr[i] < arrMin: arrMin = arr[i] #크거나 같다 vs 크다 :부호에 따라서 인덱스 번호가 달라짐 일단 arr 배열만 보면 최솟값은 2이다.
문제 / K번째 큰 수 / Python
·
coding test - python/기본기 문제
문제 제목: K번째 큰 수 현수는 1부터 100사이의 자연수가 적힌 N장의 카드를 가지고 있습니다. 같은 숫자의 카드가 여러장 있을 수 있습니다. 현수는 이 중 3장을 뽑아 각 카드에 적힌 수를 합한 값을 기록하려 고 합니다. 3장을 뽑을 수 있는 모든 경우를 기록합니다. 기록한 값 중 K번째로 큰 수를 출력 하는 프로그램을 작성하세요. 만약 큰 수부터 만들어진 수가 25 25 23 23 22 20 19......이고 K값이 3이라면 K번째 큰 값 은 22입니다. ▣ 입력설명 첫 줄에 자연수 N(3
문제 / K번째 수 / Python
·
coding test - python/기본기 문제
문제 제목: K번째 수 N개의 숫자로 이루어진 숫자열이 주어지면 해당 숫자열중에서 s번째부터 e번째 까지의 수를 오름 차순 정렬했을 때 k번째로 나타나는 숫자를 출력하는 프로그램을 작성하세요. ▣ 입력설명 첫 번째 줄에 테스트 케이스 T(1
문제 / K번째 약수/ Python
·
coding test - python/기본기 문제
문제 제목: K번째 약수 K번째 약수 어떤 자연수 p와 q가 있을 때, 만일 p를 q로 나누었을 때 나머지가 0이면 q는 p의 약수이다. 6을 예로 들면 6 ÷ 1 = 6 … 0 6 ÷ 2 = 3 … 0 6 ÷ 3 = 2 … 0 6 ÷ 4 = 1 … 2 6 ÷ 5 = 1 … 1 6 ÷ 6 = 1 … 0 그래서 6의 약수는 1, 2, 3, 6, 총 네 개이다. 두 개의 자연수 N과 K가 주어졌을 때, N의 약수들 중 K번째로 작은 수를 출력하는 프로그램을 작성하시오. ▣ 입력설명 첫째 줄에 N과 K가 빈칸을 사이에 두고 주어진다. N은 1 이상 10,000 이하이다. K는 1 이상 N 이하이다. ▣ 출력설명 첫째 줄에 N의 약수들 중 K번째로 작은 수를 출력한다. 만일 N의 약수의 개수가 K개보다 적어서 ..
백준 / 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로 만들어야한다..