Lv0. 옹알이(1) 문제(정답률 33%)
머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음을 최대 한 번씩 사용해 조합한(이어 붙인) 발음밖에 하지 못합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요.
** 유의사항 **
- 네 가지를 붙여 만들 수 있는 발음 이외에는 어떤 발음도 할 수 없는 것으로 규정합니다. 예를 들어, "woowo"는 "woo"는 발음할 수 있지만 "woo"는 발음할 수 있지만 "wo"를 발음할 수 없기 때문에 할 수 없는 발음
def solution(babbling):
string = ["aya","ye","woo","ma"]
letter = []
letter += string
## 2개의 조합
for i in string:
for j in string:
letter.append(i+j)
## 3개의 조합
for i in string:
for j in string:
for k in string:
letter.append(i+j+k)
## 4개의 조합
for i in string:
for j in string:
for k in string:
for l in string:
letter.append(i+j+k+l)
answer = 0
for i in babbling:
if i in letter:
answer += 1
return answer
Lv0. 세로 읽기 문제
문자열 my_string과 두 정수 m, c가 주어집니다. my_string을 한 줄에 m 글자씩 가로로 적었을 때 왼쪽부터 세로로 c번째 열에 적힌 글자들을 문자열로 return 하는 solution 함수를 작성해 주세요.
[입출력 예]
my_string | m | c | result |
"ihrhbakrfpndopljhygc" | 4 | 2 | "happy" |
"programmers" | 1 | 1 | "programmers" |
def solution(my_string, m, c):
answer = []
for i in range(0,len(my_string),m):
answer2 = []
for j in my_string[i:i+m]:
answer2.append(j)
answer.append(answer2)
result = []
for i in answer:
result.append(i[c-1])
return ''.join(result)
Lv0. 글자 지우기 문제
문자열 my_string과 정수 배열 indices가 주어질 때, my_string에서 indices의 원소에 해당하는 인덱스의 글자를 지우고 이어 붙인 문자열을 return 하는 solution 함수를 작성해 주세요
my_string | indices | result |
"apporoograpemmemprs" | [1,16,6,15,0,10,11,3] | "programmers" |
def solution(my_string, indices):
dict_ = {}
for i in range(len(my_string)):
dict_[i] = my_string[i]
for j in indices:
del dict_[j]
answer = ""
for k in dict_.values():
answer += k
return answer
Lv0. 정수를 나선형으로 배치하기(45%)
양의 정수 n이 매개변수로 주어집니다. n × n 배열에 1부터 n2 까지 정수를 인덱스 [0][0]부터 시계방향 나선형으로 배치한 이차원 배열을 return 하는 solution 함수를 작성해 주세요.
[입출력 예]
n | result |
4 | [[1,2,3,4], [12,13,14,15], [11,16,15,6], [10,9,8,7]] |
5 | [[1,2,3,4,5], [16,17,18,19,6], [15,24,25,20,7], [14,23,22,21,8], [13,12,11,10,9]] |
def solution(n):
answer = [[0 for i in range(n)] for j in range(n)]
## 왼쪽에 부딪치면 오른쪽으로 이동
## 오른쪽에 부딪치면 아래로 이동
## 아래에 부딪치면 왼쪽으로 이동
## 위에 부딪치면 오른쪽으로 이동
direction_x = [0,1,0,-1]
direction_y = [1,0,-1,0]
## 초기 좌표
x, y = 0, 0
direction = 0
for i in range(1, (n*n)+1):
answer[x][y] = i
nx = x + direction_x[direction]
ny = y + direction_y[direction]
if nx >= n or nx < 0 or ny >=n or ny < 0 or answer[nx][ny] != 0:
direction = (direction+1)%4
nx = x + direction_x[direction]
ny = y + direction_y[direction]
x, y = nx, ny
return answer
'Coding Study' 카테고리의 다른 글
[## 프로그래머스 coding study ##: 2024.04] (0) | 2024.04.01 |
---|---|
[## 프로그래머스 coding study ##: 2024.03] (0) | 2024.03.13 |
[## 프로그래머스 coding study ##: 2024.02] (2) | 2024.02.19 |
[## 프로그래머스 coding study ##: 2024.01] (1) | 2024.01.05 |
[## 프로그래머스 coding study ## : 2023.12] (0) | 2023.12.02 |