본문 바로가기
반응형

코딩테스트65

Python 순서쌍의 개수 [코딩테스트 입문 - Day8] 문제 구현 1부터 n까지 반복하며 나누어 떨어지는 수들을 체크하고 마지막에 리턴해준다. 코드 def solution(n): answer =0 for i in range(n): if n % (i+1) ==0: answer +=1 return answer 다른 풀이 조금 더 효율성을 따지고 싶다면 제곱근까지 조사하고 완전제곱수인지 판단해서 리턴해주면 된다. def solution(n): answer=0 for i in range(1, int(n**0.5)+1): if n%i==0: answer+=1 return answer*2 if n**0.5!=int(n**0.5) else answer*2-1 코드는 길어지지만 시간은 많이 줄어든다. 2023. 2. 15.
Python 양꼬치 [코딩테스트 입문 - Day7] 문제 구현 양꼬치의 가격과 음료수(서비스 개수는 제외) 가격을 계산해서 더한 값을 리턴한다. 코드 def solution(n, k): return n*12000+(k-(n//10))*2000 n*12000은 양꼬치값, n//10은 양꼬치 10개당 서비스 하나이다. 위 구현방식을 그대로 적용했다. 문제가 단순하기에 다른 풀이는 없어 보인다. 2023. 2. 9.
Python 각도기 [코딩테스트 입문 - Day7] 문제 구현 코드 def solution(angle): answer = (angle // 90) * 2 + (angle % 90 > 0) * 1 return answer if ~ else 4개를 쓰기 싫어서 압축해 보았다. 직각, 평각일 때는 90으로 나눈 값이 1,2 이므로 그 값에 2를 곱해서 2,4가 나오도록 했고 예각, 둔각일 때는 1을 더해주도록 했다. 다른 풀이 def solution(angle): if angle 2023. 2. 9.
Python 특정 문자 제거하기 [코딩테스트 입문 - Day7] 문제 구현 받은 문자열에서 특정문자를 찾아 없앤 문자열을 리턴해준다. 코드 def solution(my_string, letter): return my_string.replace(letter,"") 해당 문제를 찾아 빈 값 ""로 변환해 주었다. 다른 풀이 def solution(my_string, letter): answer = '' for string in my_string: if string != letter: answer += string return answer 문자열을 돌며 letter가 아닌 문자들만 리턴할 값에 추가해 준다. 2023. 2. 9.
반응형