본문 바로가기

코딩테스트26

[프로그래머스] Level 1. 이상한 문자 만들기 def solution(s): s_split = s.split(' ')# 공백을 기준으로 나누기 ['try', 'hello', 'world'] answer = []# 새로운 단어 담을 리스트 for word in s_split:# 단어 하나씩 보기 print(word) new_word = ""# 새로운 문자열 담을 곳 for i in range(len(word)): if i % 2 == 0: new_word += word[i].upper()# 짝수일 경우 대문자 else: new_word += word[i].lower()# 홀수일 경우 소문자 answer.append(new_word)# 새로운 단어 추가 return " ".join(answer)# 구분자 " "를 넣어서 새로운 문자열로 만들기 2022. 1. 28.
[프로그래머스] Level 1. 자릿수 더하기 def solution(n): str_n = str(n) answer = 0 for i in str_n: answer += int(i) return answer 바로 생각나는대로 빨리 풀었다 숫자를 문자열로 받아서 앞에서부터 하나씩 더하면 된다 2022. 1. 28.
[프로그래머스] Level 1. 자연수 뒤집어 배열로 만들기 def solution(n): answer = []# 정답 리스트 for i in str(n):# 입력받은 정수를 문자열로 생각해서 answer.append(int(i))# 하나씩 가져온 후 다시 정수로 바꿔서 리스트에 추가 answer.reverse()# 리스트 뒤집기 return answer 당장 생각나는대로.. 리스트를 reverse했다 2022. 1. 21.
[프로그래머스] Level 1. 정수 내림차순으로 배치하기 def solution(n): num_list = list(str(n)) # 들어온 정수를 문자열로 바꾼 후 다시 리스트로(한문자씩) 바꿈 num_list.sort(reverse = True)# 리스트에서 제공하는 정렬 함수 사용 answer = int("".join(num_list))# 묹자열을 다시 리스트로 return answer 문자열을 리스트로 1. 어떤 것 기준으로 split() - a.split()은 공백 기준, a.split('/')는 /기준 2. 문자열 요소 하나하나씩 - list(a) 리스트를 문자열로 1. join() - a.join()은 공백 없이, a.split(' ') 요소 사이에 ' '추가 2022. 1. 19.
[프로그래머스] Level 1. 콜라츠 추측 def solution(num): count = 0# 작업 횟수를 세는 변수 while num != 1:# 입력된 수가 1이 아닐때 계속 실행 count += 1# 작업 횟수 +1 if count > 501:# 작업 횟수가 500이 넘으면 -1로 변경 후 리턴 count = -1 break if num % 2 == 0:# 짝수라면 2로 나눈다 num /= 2 else:# 홀수라면 3을 곱하고 1을 더한다 num = (num * 3) + 1 return count# 작업 횟수 리턴 문제를 읽어보고 조건에 맞게 코딩하면 된다 주의사항: 가장 처음에 입력된 수가 1인 경우도 생각해야 한다 2022. 1. 14.
[프로그래머스] Level 1. 하샤드 수 def solution(x): digits_sum = 0 for i in str(x):# 문자열로 변경 후 한글자씩 접근 digits_sum += int(i)# 자릿수의 합에 더해준다 if x%digits_sum == 0:# 자릿수의 합이 처음 입력받은 수로 나눠지면 나머지가 0이다 answer = True else: answer = False return answer 2022. 1. 13.