인사말
안녕하세요~!
저는 오전까지는 계속 낑낑대다가 오후가 되어서야 몸이 괜찮아져서
오후부터 공부하러 들어왔답니다 😎
그래서 그런지 오늘은 한 게 별로 없네요 ㅠ
그래도 파이팅입니다!
오늘의 일정 | |
오후(16:30 ~ 18:00) | 16:30~17:00 코드 카타 2문제 풀기 17:00~19:00 파이썬 프로그래밍의 기초, 자료형_문자열 자료형 |
저녁(19:00 ~ 21:00) | 19:00~20:00 베이직반 수업 |
요약
- 코드 카타 2문제
- rn_string
- 두 수의 연산값 비교하기
- 파이썬 기본 이론 공부
- 파이썬 프로그래밍의 기초, 자료형 https://bmk0703.tistory.com/123
- 베이직반 수업
- 2차원 문제 풀기
- 특별한 2차원 배열
- 2차원 리스트를 1차원 리스트로 만들기
- 행렬 덧셈
- 2차원 문제 풀기
오후(16:30 ~ 18:00)
1. 코드 카타 2문제
1.1. rn_string
def solution(rny_string):
return rny_string.replace("m","rn")
🤔 문제 풀이
- return rny_string.replace("m","rn")
- replace로 그냥 변경해 주시면 문제 해결이에요!
1.2. 두 수의 연산값 비교하기
def solution(a, b):
return int(str(a) + str(b)) if int(str(a) + str(b)) > 2*a*b else 2*a*b
🤔 문제 풀이
- return int(str(a) + str(b)) if int(str(a) + str(b)) > 2*a*b else 2*a*b
- 삼항 연산자로 풀었어요!
- if int(str(a) + str(b)) > 2*a*b
- 만약 숫자를 문자형으로 바꾼 걸 그대로 이어 붙인 값이 2*a*b 보다 크면
- int(str(a) + str(b))
- 이 값을 출력해 줄게요
- else 2*a*b
- 만약 2*a*b가 더 크다면 2*a*b가 출력되도록 적어주면, 문제 해결!
2. 파이썬 기본 이론 공부
2.1. 파이썬 프로그래밍의 기초, 자료형_문자열 자료형 https://bmk0703.tistory.com/123
→ 포매팅부터~
저녁(19:00 ~ 21:00)
3. 베이직반 수업
3.1. 2차원 문제 풀기
3.1.1. 특별한 2차원 배열
def solution(arr):
answer = 1 # 아래 코드는 대칭이 아닌 경우만 찾을 예정
for i in range(len(arr)): # 이차원이니까 범위 두 개 필요, 그 범위는 arr의 길이만큼
for j in range(len(arr[i])): # j는 len(arr)의 i 위치까지로 범위 설정
if arr[i][j] != arr[j][i]: # 만약 대칭이 아니라면
answer = 0 # answer을 0으로 변경
return answer
3.1.2. 2차원 리스트를 1차원 리스트로 만들기
def solution(mylist):
return sum(mylist, [])
# 튜터님 문제 풀이
def solution(mylist):
answer = []
for i in mylist:
answer.extend()
return answer
다른 다양한 방식으로 2차원을 1차원으로 만들 수 있어요.
저는 가장 간단한 sum을 써서 해결했고요
.extend() 함수를 써서도 해결할 수 있다는 걸 튜터님께서 알려주셨어요.
my_list = [[1,2], [3,4], [5,6]]
함수 | 결괏값 |
print(sum(my_list, []) | [1, 2, 3, 4, 5, 6] |
print(list(itertools.chain(*board))) | [1, 2, 3, 4, 5, 6] |
from functools import reduce print(list(reduce(lambda x, y: x+y, my_list))) |
[1, 2, 3, 4, 5, 6] |
from functools import reduce import operator print(list(reduce(operator.add, my_list))) |
[1, 2, 3, 4, 5, 6] |
3.1.3. 행렬 덧셈
row_list,cols_list = [],[]
N, M = map(int, input().split())
for i in range(N):
row = list(map(int, input().split()))
row_list.append(row)
for i in range(N):
cols= list(map(int, input().split()))
cols_list.append(cols)
for i in range(N):
for j in range(M):
print(str(row_list[i][j] + cols_list[i][j])+" ", end ="")
print()
🤔 문제 풀이
- row_list,cols_list = [], []
- 행, 열을 받을 리스트를 만들어줄게요
- N, M = map(int, input().split())
- 두 번째 줄부터 백준에서 입력해 준다고 하길래 두 번째 줄에 받도록 했어요
- for i in range(N):
row = list(map(int, input().split()))
row_list.append(row)- 한 행씩 입력을 받으니까 행 크기(N)만큼 반복해서 받을게요
- map 함수는 map 객체를 반환하기 때문에 list화 해줄게요
- for i in range(N):
cols= list(map(int, input().split()))
cols_list.append(cols)- 이번에는 코드는 열로 받아낼게요
- for i in range(N):
for j in range(M):
print(str(row_list[i][j] + cols_list[i][j])+" ", end ="")
print()- 반복문을 통해서 row_list와 cols_list의 동일 행&동일 열에 위치한 원소를 더해줄게요
- 그리고 end=""를 써서 그 행과 열이 끝났음을 알려줄게요
- print()를 통해 줄 바꿈을 해주어 행을 구분하면, 문제 해결!
마무리
공부를 하다 보니까 컨디션이 돌아와서 마무리 지을 수 있었어요
사실 침대에 누워서 굴러대기만 했더니 너무,, 현타 왔었거든요
공부하길 잘한 거 같아요 😽
오늘도 수고 많으셨습니다~!
감사합니다~!
'내일배움캠프 TIL' 카테고리의 다른 글
[TIL] 내일배움캠프 본캠프 31일차_코드 카타, 프로그래머스, 파이썬 기본 이론 공부 (1) | 2025.01.08 |
---|---|
[TIL] 내일배움캠프 본캠프 29일차_코드 카타, 프로그래머스, 파이썬 기본 이론 공부, 베이직반 (0) | 2025.01.06 |
[TIL] 내일배움캠프 본캠프 28일차_코드 카타, 프로그래머스, 파이썬 기본 이론 공부, 장고 강의 (1) | 2025.01.03 |
[TIL] 내일배움캠프 본캠프 27일차_코드 카타, 프로그래머스, 파이썬 기본 이론 공부 (2) | 2025.01.02 |
[TIL] 내일배움캠프 본캠프 26일차_코드 카타, 프로그래머스, 마크다운, github 협업하기 (0) | 2024.12.31 |