프로그래머스 Lv0. 문자 개수 세기, 배열 만들기, 글자 지우기
안녕하세요 머킹입니다.
추석 때 계속 코테를 풀고 싶은데 노트북이 없어서ㅠㅠ
아무래도 몰아서 할 것 같습니다.
그래도 추석 때 읽으려고 딥러닝 책들을 많이 빌려놨으니까 이론공부를 열심히 해야겠네요!
문자 개수 세기
문제 설명
알파벳 대소문자로만 이루어진 문자열 my_string이 주어질 때, my_string에서 'A'의 개수,
my_string에서 'B'의 개수,..., my_string에서 'Z'의 개수, my_string에서 'a'의 개수, my_string에서 'b'의 개수,...,
my_string에서 'z'의 개수를 순서대로 담은 길이 52의 정수 배열을 return 하는 solution 함수를 작성해 주세요.
제한사항
1 ≤ my_string의 길이 ≤ 1,000
단순히 생각해 보고 코드를 짜봤습니다.
def solution(my_string):
answer = []
if my_string in a~z:
return '1'
else:
return 0
return answer
def solution(my_string):
answer = [0] * 52
for char in my_string:
if 'A' <= char <= 'Z':
answer[ord(char) - ord('A')] += 1
elif 'a' <= char <= 'z':
answer[ord(char) - ord('a') + 26] += 1
return answer
다른 사람의 풀이를 보니까
isupper를 쓰는 방법이 있네요!
def solution(my_string):
answer=[0]*52
for x in my_string:
if x.isupper():
answer[ord(x)-65]+=1
else:
answer[ord(x)-71]+=1
return answer
배열 만들기
문제 설명
정수 n과 k가 주어졌을 때, 1 이상 n이하의 정수 중에서 k의 배수를 오름차순으로 저장한 배열을 return 하는 solution 함수를 완성해 주세요.
제한사항
1 ≤ n ≤ 1,000,000
1 ≤ k ≤ min(1,000, n)
단순하게 생각해 보면 upper를 쓰면 될 것 같았는데
아무래도 그런 건 없다고 합니다.
def solution(n, k):
answer = []
if 1 < n:
upper(k+1)
return answer
sort를 쓰면 되지 않을까?!라는 생각으로 바뀌었는데요.
아무래도 그런 건 안되나 봅니다..
def solution(n, k):
answer = []
if i in range(1, n + 1):
if i % k == 0:
answer.append(i)
return answer
틀렸습니다..ㅎㅎ
def solution(n, k):
answer = []
for i in range(1, n + 1):
if i % k == 0:
answer.append(i)
return answer
와 for를 if로 쓰고 있었네요
왜 이게 안보일까요??
def solution(n, k):
return [i for i in range(k,n+1,k)]
이런 방법도 있네요
역시 컴프리헨션을 잘해야 한다고 생각이 듭니다.
글자 지우기
문제 설명
문자열 my_string과 정수 배열 indices가 주어질 때, my_string에서 indices의 원소에 해당하는 인덱스의 글자를 지우고 이어 붙인 문자열을 return 하는 solution 함수를 작성해 주세요.
제한사항
1 ≤ indices의 길이 < my_string의 길이 ≤ 100
my_string은 영소문자로만 이루어져 있습니다
0 ≤ indices의 원소 < my_string의 길이
indices의 원소는 모두 서로 다릅니다.
def solution(my_string, indices):
substrings = [my_string[i] for i in range(len(my_string)) if i not in indices]
answer = ''.join(substrings)
return answer
리스트 컴프리헨션은 써도 써도 어렵네요.
'오늘부터 코딩테스트' 카테고리의 다른 글
[오늘부터 코딩테스트]파이썬으로 프로그래머스 코딩 기초 프로그램 풀기 (0) | 2023.10.06 |
---|---|
[오늘부터 코딩테스트]프로그래머스 코딩 기초 프로그램 풀기 (0) | 2023.10.04 |
[오늘부터 코딩테스트]프로그래머스 코딩 기초 프로그램 풀기 (0) | 2023.09.26 |
[오늘부터 코딩테스트]프로그래머스 코딩 기초 프로그램 풀기 (0) | 2023.09.26 |
[오늘부터 코딩테스트]프로그래머스 코딩 기초 프로그램 풀기 (0) | 2023.09.23 |