A. 금일 학습 내용

map 함수 : 여러개의 데이터를 받아 각각의 요소에 함수를 적용한 결과를 반환하는 내장 함수이다.

map(function, iterable)

- function : 각 요소에 적용할 함수

- iterable: 함수를 적용할 데이터 집합이다.

- 제약 사항: 입력된 모든 iterator 객체의 길이가 같아야 한다.

 

입력된 iterable 객체들의 각 요소를 하나씩 가져와 function 함수에 적용하고, 그 결과를 새로운 iterator 반환한다.

map 함수는 generator 객체를 반화하며, iterator과 비슷한 역할을 한다.

 

strip 함수: 원래 문자열의 시작과 끝에서 주어진 문자를 제거한다.

- 기본적으로 문자열의 시작과 끝에서 공백을 제거한 후 변환한다.

- 괄호 안에 특정 값을 넣는 경우, 해당하는 문자열을 제거할 수 있다.

 

split 함수: 문자열을 나눠서 리스트로 만들 때 사용하는 함수이다.

- 빈 괄호는 공백을 기준으로 문자열을 나누고, 특정 문자가 들어간다면 해당 문자를 기준으로 나눈다.

 

a, b = map(int, input().strip().split(' '))
print(a + b)

- 알고리즘 코드카타 문제의 기본 형식은 위와 같다.

- iterable 즉 함수를 적용할 데이터 집합은 input().strip().split('') 이다.

- input 으로 들어간 문자열의 공백을 제거하고 공백을 기준으로 문자의 기준을 나눈다.

- int 내장함수를 활용하여 정수로 변환한다.

 

B. 문제

이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다.
별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요.

이에 대한 풀이는 아래와 같다.

1) 나의 풀이

a, b = map(int, input().strip().split())
for _ in range(b):
    print('*'*a)

2) 타인 풀이

a, b = map(int, input().strip().split(' '))
answer = ('*'*a +'\n')*b
print(answer)

혹은

a, b = map(int, input().strip().split(' '))

for i in range(b):
    for j in range(a):
        print('*', end='')
    print('')

 

 

C. 문자열 더하기 / 문자열 곱하기

1. 문자열 더하기

a = "Hello, "
b = "World"
print(a+b)

 

위와 같이 문자열이 이어져 출력되는 것을 알 수 있다.

 

2. 문자열 곱하기

a = "Hello"
print(a*3)

 

- 풀이에서 사용된 '\n'를 사용하면 아래와 같은 결과값이 도출된다.

a = "Hello \n"
print(a*3)

 

+ Recent posts