인사말
안녕하세요~!~!
오늘은 큰일 났어요! 오전에 문제 푸는 데에 체력을 다 써버려서 집중이 잘 안 되더라고요
밍기적 밍기적거리며 해내긴 했지만,, 찜찜하네요 🥲
그리고
튜터님과 사람인 사이트에 들어가서 보면서 상담을 했는데,,
미리 매 맞은 기분이라 얼얼했어요 ㅋㅋㅋㅋㅋㅋ,,
더 공부에 집중이 안 됐다는 사~실~!~!~!~!~!
그래도 하던 게 있으니까 굳세고 꿋꿋하게 해 봅시다!
파이팅~!~!
오늘의 일정 | |
오전(09:00 ~ 13:00) | 09:00~10:00 코드 카타 2문제 및 팀 오전 회의 10:00~13:00 프로그래머스 4문제 |
오후(14:00 ~ 18:00) | 14:00~16:00 파이썬 기본 이론 공부_문자열 자료형 16:00~18:00 파이썬 기본 이론 공부_리스트 자료형 |
저녁(19:00 ~ 21:00) | 19:00~20:00 진로 상담 20:00~21:00 TIL 정리 |
요약
- 코드 카타 2문제
- 수 조작하기 1
- 정수 찾기
- 프로그래머스 4문제
- 삼각형의 완성 조건 (2) https://bmk0703.tistory.com/126
- 구슬을 나누는 경우의 수 https://bmk0703.tistory.com/127
- 캐릭터의 좌표 https://bmk0703.tistory.com/128
- 외계어 사전 https://bmk0703.tistory.com/129
- 파이썬 기본 이론 공부
- 문자열 자료형 https://bmk0703.tistory.com/123
- 리스트 자료형 https://bmk0703.tistory.com/130
오전(09:00 ~ 13:00)
1. 코드 카타 2문제
1.1. 수 조작하기 1
def solution(n, control):
answer = n
control_num = {"w":+1, "s":-1, "d": +10, "a":-10}
for i in control:
answer += control_num[i]
return answer
🤔 문제 풀이
- 딕셔너리로 짝을 지어줬어요
- 그러고 control를 for문으로 돌려줘요
- answer=n으로 할당해 주었기 때문에 딕셔너리 키에 대한 값을 불러오며 더해주면 문제 해결!
1.2. 정수 찾기
def solution(num_list, n):
return 1 if n in num_list else 0
🤔 문제 풀이
- num_list에 n의 값이 있다면 1을 리턴하고, 아닐 경우에는 0을 리턴하도록 하면 문제 해결!
2. 프로그래머스 4문제
2.1. 삼각형의 완성 조건 (2)
def solution(sides):
answer = 0
max_num = max(sides) # sides의 max값
min_num = min(sides) # sides의 min값
sum_num = sum(sides) # sides의 sum값
#가장 긴 변이 sides에 있을 경우
for i in range(1, max_num+1):
if i+min_num > max_num:
answer += 1
#가장 긴 변이 새로운 변일 경우
for i in range(max_num+1, sum_num):
answer +=1
return answer
https://bmk0703.tistory.com/126
🤔 문제 풀이
- max_num = max(sides) # sides의 max값
min_num = min(sides) # sides의 min값
sum_num = sum(sides) # sides의 sum값- 삼각형을 만들 거기 때문에 모든 변에 대해서 정의 내려줬어요
- #가장 긴 변이 sides에 있을 경우
for i in range(1, max_num+1):
if i+min_num > max_num:
answer += 1- for i in range(1, max_num+1):
- 가장 긴 변이 sides에 이미 있을 때, range 범위를 1부터 max_num+1로 해주었어요
- if i+min_num > max_num:
- 만약 i+min_num이 max_num보다 크다면 answer에 +1씩 더해줄게요
- 문제를 다시 읽어보시면 경우의 수가 적어도 2가지가 나오잖아요 그걸 충족시키기 위해서 만든 코드입니다!
- 만약 i+min_num이 max_num보다 크다면 answer에 +1씩 더해줄게요
- for i in range(1, max_num+1):
- #가장 긴 변이 새로운 변일 경우
for i in range(max_num+1, sum_num):
answer +=1- for i in range(max_num+1, sum_num):
- 가장 긴 변이 새로운 변일 경우예요
- 그럼 적어도 max_num+1보다 큰 숫자부터 sides의 sum 만큼이 범위가 되겠죠?
- answer +=1
- 그리고 그 값들을 answer에 더해주면 문제 해결!
- for i in range(max_num+1, sum_num):
2.2. 구슬을 나누는 경우의 수
from math import factorial as fac
def solution(balls, share):
return fac(balls)/(fac(balls - share)*fac(share))
https://bmk0703.tistory.com/127
🤔 문제 풀이
- 이 문제는 모든 경우의 수를 팩토리얼로 만들어서 식을 완성하는 문제였어요
- 문제 밑에 있는 Hint 식을 파이썬에 그대로 재현해 내면 해결할 수 있는 문제였어요!
9점이나 주는 문제였네요 ㄷㄷ
2.3. 캐릭터의 좌표
def solution(keyinput, board):
len_x = board[0]//2
len_y = board[1]//2
direction = {"up":(0,1), "down":(0,-1),
"left":(-1,0), "right":(1,0)}
x,y = 0,0
for i in keyinput:
direction_x, direction_y = direction[i]
if abs(x+direction_x) > len_x or abs(y+direction_y) > len_y:
continue
else:
x,y = (x+direction_x),(y+direction_y)
return [x,y]
https://bmk0703.tistory.com/128
🤔 문제 풀이
- len_x = board[0]//2
len_y = board[1]//2- board판의 정가운데에서 출발하기 때문에 x와 y의 길이를 할당시켜 주었어요
- direction = {"up":(0,1), "down":(0,-1),
"left":(-1,0), "right":(1,0)}- 그리고 문제에서 준 조건들을 딕셔너리로 정리해 주었어요
- x, y = 0,0
- x, y를 각각 0으로 할당시켜 주고
- for i in keyinput:
direction_x, direction_y = direction[i]
if abs(x+direction_x) > len_x or abs(y+direction_y) > len_y:
continue- 방향이 적혀있는 keyinput을 for문으로 돌려줘요
- 그리고 x와 y에 대한 값을 딕셔너리의 value 값과 할당해 줘요 (direction_x, direction_y)
- 만약 x값이 board판 크기를 이탈하거나, y값이 board판 크기를 이탈할 때 계속 if문을 돌려주도록 했어요(continue)
- else:
x, y = (x+direction_x), (y+direction_y)- 만약 board판을 이탈하지 않는 값이라면 x, y에 할당되도록 해주고 return 하면 문제 해결!
어려웠는데 8점밖에 안 주시다뇨,,
2.4. 외계어 사전
def solution(spell, dic):
for i in dic:
if not set(spell) - set(i):
return 1
return 2
https://bmk0703.tistory.com/129
🤔 문제 풀이
- set함수를 써서 해결한 문제예요
set함수는 중복을 허용하지 않는 함수이고, 순서를 보장해주진 않아요
- if not set(spell) - set(i):
유의사항
입출력 예 #3에서 "moos", "smm", "som"도 "s", "o", "m", "d"를 조합해 만들 수 있지만
spell의 원소를 모두 사용해야 하기 때문에 정답이 아닙니다.
- 그래서 if not을 썼어요 문제가 단어당 한 번씩만 써야 하는 문제거든요!
- 저 조건에 들어맞는다면 1을 return 하도록 해주면 문제 해결!
- 기본값으로는 2를 return 하도록 코드를 만들어놓았습니다.
오후(14:00 ~ 18:00)
3. 파이썬 기본 이론 공부
3.1. 문자열 자료형 https://bmk0703.tistory.com/123
3.2. 리스트 자료형 https://bmk0703.tistory.com/130
마무리
이러나저러나 꾸역꾸역 오늘 할 일은 다 완수해 냈어요 ( ✌︎'ω')✌︎
파이썬 기본 이론 공부를 하다 보니까, 제가 부족한 개념이 뭔지 알겠더라구요
다시 태초 마을로 돌아가서 차근차근 공부하니까 도움이 되네요!
기본기 탄탄히, 얼른 하면서 장고 공부 각 잡고 하려구요
휴우,, 재밌는 거라 생각하고 해 봅시다
오늘도 수고 많으셨어요~!!
감사합니다 😉
'내일배움캠프 TIL' 카테고리의 다른 글
[TIL] 내일배움캠프 본캠프 32일차_코드 카타, 프로그래머스, 파이썬 기본 이론 공부(튜플, 딕셔너리) (0) | 2025.01.09 |
---|---|
[TIL] 내일배움캠프 본캠프 30일차_코드 카타, 파이썬 기본 이론 공부, 베이직반 (0) | 2025.01.07 |
[TIL] 내일배움캠프 본캠프 29일차_코드 카타, 프로그래머스, 파이썬 기본 이론 공부, 베이직반 (0) | 2025.01.06 |
[TIL] 내일배움캠프 본캠프 28일차_코드 카타, 프로그래머스, 파이썬 기본 이론 공부, 장고 강의 (1) | 2025.01.03 |
[TIL] 내일배움캠프 본캠프 27일차_코드 카타, 프로그래머스, 파이썬 기본 이론 공부 (2) | 2025.01.02 |