[코딩 기초 트레이닝]Day18 문자열
x 사이의 개수
문제 설명
문자열 myString
이 주어집니다. myString
을 문자 “x”를 기준으로 나눴을 때 나눠진 문자열 각각의 길이를 순서대로 저장한 배열을 return 하는 solution 함수를 완성해 주세요.
제한사항
- 1 ≤
myString
의 길이 ≤ 100,000myString
은 알파벳 소문자로 이루어진 문자열입니다.
입출력 예
myString | result |
---|---|
“oxooxoxxox” | [1, 2, 1, 0, 1, 0] |
“xabcxdefxghi” | [0, 3, 3, 3] |
solution
def solution(myString):
n = myString.split("x")
a = []
for i in n:
a.append(len(i))
return a
-----------------------------------
def solution(myString):
return [len(w) for w in myString.split('x')]
문자열 잘라서 정렬하기
문제 설명
문자열 myString
이 주어집니다. “x”를 기준으로 해당 문자열을 잘라내 배열을 만든 후 사전순으로 정렬한 배열을 return 하는 solution 함수를 완성해 주세요.
단, 빈 문자열은 반환할 배열에 넣지 않습니다.
제한사항
- 1 ≤
myString
≤ 100,000myString
은 알파벳 소문자로 이루어진 문자열입니다.
입출력 예
myString | result |
---|---|
“axbxcxdx” | [“a”,”b”,”c”,”d”] |
“dxccxbbbxaaaa” | [“aaaa”,”bbb”,”cc”,”d”] |
solution
def solution(myString):
new = myString.split("x")
a = []
for i in new:
if i != "":
a.append(i)
return sorted(a)
-----------------------------------
def solution(myString):
return sorted(ch for ch in myString.split('x') if ch)
HTTP apThem + path + SQL CRUD
API request : 첫 줄에 get이나 post냐
클라이언트인 프론트엔드 단에서 코드로 delete와 put을 요청해줘야한다.
GET, PUT, DELETE, POST
API 게이트웨이 가 bbs/record/~~를 담당 react…
POST man> api gateway(1개)> lambda(4개의 함수| selete, update, delete, insert) > dynamo DB(1개)
C(post)R(get)U(insert)D(delete)
간단한 식 계산하기
문제 설명
문자열 binomial
이 매개변수로 주어집니다. binomial
은 “a
op
b
” 형태의 이항식이고 a
와 b
는 음이 아닌 정수, op
는 ‘+’, ‘-‘, ‘*’ 중 하나입니다. 주어진 식을 계산한 정수를 return 하는 solution 함수를 작성해 주세요.
제한사항
- 0 ≤
a
,b
≤ 40,000 - 0을 제외하고
a
,b
는 0으로 시작하지 않습니다.
입출력 예
binomial | result |
---|---|
“43 + 12” | 55 |
“0 - 7777” | -7777 |
“40000 * 40000” | 1600000000 |
solution
def solution(binomial):
return eval(binomial)
문자열 바꿔서 찾기
문제 설명
문자 “A”와 “B”로 이루어진 문자열 myString
과 pat
가 주어집니다. myString
의 “A”를 “B”로, “B”를 “A”로 바꾼 문자열의 연속하는 부분 문자열 중 pat
이 있으면 1을 아니면 0을 return 하는 solution 함수를 완성하세요.
제한사항
- 1 ≤
myString
의 길이 ≤ 100 - 1 ≤
pat
의 길이 ≤ 10myString
과pat
는 문자 “A”와 “B”로만 이루어진 문자열입니다.
입출력 예
myString | pat | result |
---|---|---|
“ABBAA” | “AABB” | 1 |
“ABAB” | “ABAB” | 0 |
solution
def solution(myString, pat):
new = ""
for i in myString:
if i == "A":
new += "B"
else:
new += "A"
if pat in new:
return 1
else:
return 0
------------------------------
def solution(myString, pat):
return int(''.join(['A' if i == 'B' else 'B' for i in pat]) in myString)
rny_string
문제 설명
‘m’과 “rn”이 모양이 비슷하게 생긴 점을 활용해 문자열에 장난을 하려고 합니다. 문자열 rny_string
이 주어질 때, rny_string
의 모든 ‘m’을 “rn”으로 바꾼 문자열을 return 하는 solution 함수를 작성해 주세요.
제한사항
- 1 ≤
rny_string
의 길이 ≤ 100 rny_string
은 영소문자로만 이루어져 있습니다.
입출력 예
rny_string | result |
---|---|
“masterpiece” | “rnasterpiece” |
“programmers” | “prograrnrners” |
“jerry” | “jerry” |
“burn” | “burn” |
solution
def solution(rny_string):
return rny_string.replace('m','rn')
----------------------------------------------
def solution(rny_string):
if "m" in rny_string:
return rny_string.replace("m","rn")
else:
return rny_string
처음에 ““로 실행했을 때는 실패로 떴는데, ‘’ 로 바꾸니까 성공했습니다.
찾아보니까 크게 차이는 없고 관습적으로 문법적 의미를 가지는 경우 ‘ ‘를 사용하고, 큰 의미가 없는 문자열은 “ “을 사용한다고 한다. 그러면 그냥 프로그램 문제 같습니다.
댓글남기기