목록2024/05 (22)
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..