목록Coding test(Python3) (178)
NIRVANA
문제 정수를 저장하는 스택을 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오.명령은 총 다섯 가지이다.1 X: 정수 X를 스택에 넣는다. (1 ≤ X ≤ 100,000)2: 스택에 정수가 있다면 맨 위의 정수를 빼고 출력한다. 없다면 -1을 대신 출력한다.3: 스택에 들어있는 정수의 개수를 출력한다.4: 스택이 비어있으면 1, 아니면 0을 출력한다.5: 스택에 정수가 있다면 맨 위의 정수를 출력한다. 없다면 -1을 대신 출력한다. 문제 풀이 접근법11) input() 함수를 통해 명령 프롬포트로부터 명령어를 받고, 파이썬 list를 통해 스택을 구현한다. 22) 만약 '1 x'가 명령어로 들어온다면, 1)에서 들어온 값 중, 1이 있는지 확인하고 x를 스택 안에 넣는다. 이때, x는..
문제 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한 사항n은 0 이상 3000이하인 정수입니다. 문제 풀이 접근법11) for문을 사용하여 1부터 n까지의 수를 n과 나눈다.2) 만약 나누었을 때의 나머지가 0이면 해당 수를 answer에 더한다def solution(n): answer = 0 for i in range(1, n): if n % i == 0: answer += i return answer+n 다른 분들 문제 풀이def sumDivisor(num): return sum([i for i in range(1,num+1) if num%i==0])# 아래는 테스트로 ..
문제 문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요. 제한 조건 s의 길이는 1 이상 5이하입니다.s의 맨앞에는 부호(+, -)가 올 수 있습니다.s는 부호와 숫자로만 이루어져있습니다.s는 "0"으로 시작하지 않습니다. 문제 풀이 접근법11) int()함수를 사용하여 문자열 s를 숫자로 변경한다. def solution(s): return int(s) int()함수를 사용할 때 '-'부호가 있으면 변환이 안되는 줄 알았는데찾아보니까 된다고 해서 설마..? 하면서 했는데 엥 진짜 됨...참고: https://engineer-mole.tistory.com/329 [python] 문자열을 숫자로 변환하는 int()함수가 적용되지 않는 경우와 해결법※ 일본의 한 블..
문제대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다.예를 들어 s가 "pPoooyY"면 true를 return하고 "Pyy"라면 false를 return합니다.제한사항문자열 s의 길이 : 50 이하의 자연수문자열 s는 알파벳으로만 이루어져 있습니다. 문제 풀이 접근11) 문자열 S에 lower()함수를 사용하여 문자열 s내의 모든 문자를 소문자로 변경한다. 2) s에 count()함수를 사용하여 각각 p와 y의 개수가 몇개인지 확인한다. 3) p..
1. 문제정수 n이 매개변수로 주어질 때 n의 각 자리 숫자의 합을 return하도록 solution 함수를 완성해주세요 2. 문제 풀이 방법def solution(n): num = list(map(int, list(str(n)))) answer = sum(num) return answer 다른 문제 풀이 방법1) 숫자를 10으로 나눈 나머지를 answer에 더한다.2) n을 10으로 나눈 몫을 n으로 업데이트 한다. 3) n이 0이 될 때 까지 해당 과정을 반복한다.def solution(n): answer = 0 while n: answer += n % 10 n //= 10 return answer 해당 과정을 divm..
1. 문제my_string은 "3 + 5"처럼 문자열로 된 수식입니다. 문자열 my_string이 매개변수로 주어질 때, 수식을 계산한 값을 return 하는 solution 함수를 완성해주세요. 제한사항연산자는 +, -만 존재합니다.문자열의 시작과 끝에는 공백이 없습니다.0으로 시작하는 숫자는 주어지지 않습니다.잘못된 수식은 주어지지 않습니다.5 ≤ my_string의 길이 ≤ 100my_string을 계산한 결과값은 1 이상 100,000 이하입니다.my_string의 중간 계산 값은 -100,000 이상 100,000 이하입니다.계산에 사용하는 숫자는 1 이상 20,000 이하인 자연수입니다.my_string에는 연산자가 적어도 하나 포함되어 있습니다.return type 은 정수형입니다.my_st..