<aside> 💡
in
print(3 in [1, 2, 3, 4]) # True
print("a" in "cat") # True
print("z" in "cat") # False
fruits = ["사과", "바나나", "포도"]
for fruit in fruits: # 리스트 안에 있는 요소들을 순서대로 꺼냄
print(fruit)
출력:
사과
바나나
포도
👉 즉, in
은 "이 값이 이 안에 있니?" 또는 "이 안에 있는 걸 하나씩 꺼내줘" 라는 의미.
range
range(start, stop, step)
start
: 시작 숫자 (기본값 0)stop
: 끝 숫자 (이전까지만, stop은 포함되지 않음)step
: 증가 간격 (기본값 1)for i in range(5):
print(i)
출력:
0
1
2
3
4
for i in range(2, 11, 2):
print(i)
출력:
2
4
6
8
10
👉 즉, range
는 순서대로 반복할 숫자 목록을 생성하는 도구.
in
+ range
보통 for
문에서 가장 많이 같이 쓰여요.
for i in range(5): # 0~4까지 i에 하나씩 들어감
print(i)
이건 사실상 이렇게 읽는 겁니다:
i
가 range(5)
안에 있는 동안 반복해라"in
: "이 값이 이 안에 있니?" / "이 안에 있는 걸 하나씩 꺼내라"range
: "숫자의 범위를 만들어라"for i in range(n)
은 "0부터 n-1까지 숫자를 하나씩 꺼내서 i에 넣어라"라는 뜻
</aside>길이가 같은 두 문자열 str1
과 str2
가 주어집니다.
두 문자열의 각 문자가 앞에서부터 서로 번갈아가면서 한 번씩 등장하는 문자열을 만들어 return 하는 solution 함수를 완성해 주세요.
str1
의 길이 = str2
의 길이 ≤ 10
str1
과 str2
는 알파벳 소문자로 이루어진 문자열입니다.str1 | str2 | result |
---|---|---|
"aaaaa" | "bbbbb" | "ababababab" |
방법 1 : 기본 for in range 문법
def solution(str1, str2):
answer = ""
for i in range(len(str1)):
answer += str1[i]+str2[i]
# 위 라인에서 엔터치면 같은 y축 라인으로 오는데 신경잘 써야함
# return은 for와 같은 y축 라인에 있어야 함
return answer
방법 2 : join() 메서드? 를 이용
def solution(str1, str2):
방법2 = ''.join(str1[i]+str2[i] for i in range(len(str1)))
return 방법2
방법 3 : zip() 함수 이용
def solution(str1, str2):
방법3 = ""
for st1, st2 in zip(str1, str2):
#출력 방법1
# print(str(f"{st1}{st2}"), end='') # ababababab가 문자열이 아닌 상태로 출력되어버림.. 때문에 변수로 저장해서 해야함
방법3 += f"{st1}{st2}"
# 👉 만약 새로운 문자열로 반환하고 싶다면 print 대신 "".join()을
# zip 사용후 출력 방법 2
방법3 += st1+st2
return 방법3
방법 4 : zip() 함수를 이용하면서 join 메서드를 이용
def solution(str1, str2):
return "".join(f"{st1}{st2}" for st1, st2 in zip(str1, str2))
여기선 f-string으로 st1+st2를 묶어서 문자열 생성.
return "".join(st1+st2 for st1, st2 in zip(str1, str2))
여기선 그냥 문자열 덧셈(+)으로 새 문자열 생성.
def solution(str1, str2):
answer = []
for i in range(len(str1)):
answer.append(str1[i])
answer.append(str2[i])
return ''.join(answer)
문자들이 담겨있는 배열 arr
가 주어집니다. arr
의 원소들을 순서대로 이어 붙인 문자열을 return 하는 solution함수를 작성해 주세요.
arr
의 길이 ≤ 200
arr
의 원소는 전부 알파벳 소문자로 이루어진 길이가 1인 문자열입니다.