2026/04/15 Wed.
| O | ● 코드카타 3문제 |
| X | ● 라이브세션 복습 |
| O | ● 통계 / 머신러닝 수강 |
| ↓ 주간 목표 ↓ | |
● 전처리 / 데이터 리터러시 완강 ● 통계 완강 ● 머신러닝 기초 완강 ● 라이브 세션 당일 복습 ● 포트폴리오 ppt ● 자격증 공부 |
|
라이브세션이 너무 어려워,,, 그저 멘탈 털린 하루였달까요,,,,
⊙ 코드카타
36) 문제 : 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.
제한 사항
: s는 길이 1 이상, 길이 8 이하인 문자열 입니다.
: s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다.
생각 과정 :
● 굳이 문자열 길이를 4 혹은 6이라고 언급했으니 len 함수가 이용될 것 같고 || if문을 사용해 문자가 들어가면 Flase, 숫자면 True로 리턴 하면 되지 않을까?
#36def solution(s):
if len(s) == 4 or len(s) == 6:
if s.isdigit():return Trueelse:return Falseelse:return False
result = solution("a234")print(result)result = solution("1234")print(result)#정리
① 문자열 길이 4 또는 6인지 확인
② 문자열 길이가 4 또는 6으로 확인된 s 중에서 숫자인지 아닌지 체크하는 함수 .isdigit()을 이용
③ True인지 False인지 확인
④ 문자열 길이가 4 또는 6이 아닌것들은 else로 간주
⑤ else는 Flase로 간주
⑥ #36def solution(s):return (len(s) == 4 or len(s) == 6) and s.isdigit()
result = solution("a234")print(result)result = solution("1234")print(result) ● len : 줄자 : 개수,길이를 세어 숫자로 뱉어내줘
● range : 번호표 발행 : 0 ~ n번까지 나열해서 순서대로 뱉어내줘
● .isdigit() [이즈디짓]
: Boolean 함수 - False 또는 True 판별 함수
: is- 시리즈 - 파이썬 대표 불리언 함수들
: if 문에서 조건 검사로 많이 사용
37) 문제 : 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요.
제한 조건 : 행령arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다
생각 과정 :
● 행렬 계산인데,,, 이걸 어떻게 구현하지?
#37def solution(arr1, arr2):answer = []for i in range(len(arr1)):row = []for j in range(len(arr1[0])):row.append(arr1[i][j] + arr2[i][j])answer.append(row)return answer
result = solution([[1,2],[2,3]], [[3,4],[5,6]])print(result) #정리
① for문 행(=층)의 각 숫자를 빈 바구니에 담는다
② for문 열(=방?)의 각 숫자를 빈 바구니에 담는다
③ 같은 위치끼리 더해서 row(=리스트 숫자 담을 바구니)에 추가(=append)하면 행렬의 형태로 쌓인다
④ row(=행렬의 형태로 쌓인 리스트)를 answer 담는다 ● range : 번호표 발행 : 0 ~ n번까지 나열해서 순서대로 뱉어내줘● len : 줄자 : 개수,길이를 세어 숫자로 뱉어내줘
38) 문제 : 이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다.
별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요.
생각 과정 :
● *를 이용해 행렬을 나타내라?
#38# 가로:n | 세로:m
n, m = map(int, input().strip().split(' '))
for i in range(m):print("*" * n)가로 : n | 세로 : m
#정리
① 세로 m번 반복해서 줄세우기
② 세로 m에 가로 n 만큼 *을 print 해라
#정리
① 세로 m번 반복해 줄세워서 i 변수에
② 가로 n번 반복해 줄세워서 j 변수에
③ 줄바꿈 없이 *으로 print 해라
end=""는 줄바꿈을 하지 말라는 뜻! #38# 가로:n | 세로:m
n, m = map(int, input().strip().split(' '))
for i in range(m):for j in range(n):print("*", end="")print()
'▷ 코드카타' 카테고리의 다른 글
| [내일배움캠프 _ QA/QC 5기] 31일차 _ 코드카타 41~42문항 _ 삼총사 문제 (0) | 2026.04.20 |
|---|---|
| [내일배움캠프 _ QA/QC 5기] 29일차 _ 코드카타 39~40문항 (0) | 2026.04.16 |
| [내일배움캠프 _ QA/QC 5기] 27일차 _ 코드카타 33~34문항 (0) | 2026.04.14 |
| [내일배움캠프 _ QA/QC 5기] 26일차 _ 코드카타 31~32문항 (0) | 2026.04.13 |
| [내일배움캠프 _ QA/QC 5기] 25일차 _ 코드카타 28~30문항 (0) | 2026.04.10 |