인사말
크리스마스는 잘 보내고 오셨나요!
저는 하루종일 애니 보고, 밥 먹고, 숙취에 골골댄 하루였어요
갑자기 달달구리한 블루베리 롤 케이크가 먹고 싶네요 😝
메리 크리스마스였습니다 여러분~!
오늘도 파이팅입니다!
오늘의 일정 | |
오전(09:00 ~ 13:00) | 10:00~11:00 코드 카타 3문제 11:00~12:00 프로그래머스 4문제 12:00~13:00 머신러닝 과제_지도학습 |
오후(14:00 ~ 18:00) | 14:00~18:00 머신러닝 과제_지도학습 |
요약
- 코드 카타 3문제
- 순서쌍의 개수
- 모음 제거
- 문자 반복 출력하기
- 프로그래머스 4문제
- 암호 해독
- 최댓값 만들기(2)
- 제곱수 판별하기
- 인덱스 바꾸기
- 머신러닝 과제_지도학습 https://bmk0703.tistory.com/77
오전(09:00 ~ 13:00)
1. 코드 카타 3문제
1.1. 순서쌍의 개수
def solution(n):
answer = 0
for i in range(1,n+1):
if n % i ==0:
answer +=1
return answer
🤔 문제 풀이방법
- for i in range(1,n+1):
- 1부터 n+1 만큼의 범위를 i에 받을게요
- if n % i ==0:
- 만약 n을 i로 나누었을 때 나머지가 0이라면 n의 자연수가 될 거예요
- answer +=1
- 그 값을 answer에 +=1 씩 해주면 문제 해결!
1.2. 모음 제거
def solution(my_string):
answer = ''
collection = ("a", "e","i","o","u")
for i in collection:
my_string = my_string.replace(i,'')
return my_string
🤔 문제 풀이방법
- collection = ("a", "e","i","o","u")
- 모음만 가지고 있는 튜플을 만들어줄게요
- for i in collection:
- 이제 튜플에 있는 값들을 하나하나 i에 담아줄 겁니다
- my_string = my_string.replace(i,'')
- i에 있는 모음이 my_string에 있는 거라면 .replace()을 써서 공백으로 바꿔줄게요
- return my_string
- 그렇게 해서 return을 해주면 문제 해결!
다른 팀원 풀이
def solution(my_string):
answer = my_string
vowel = ("a", "e", "i", "o", "u")
for i in vowel:
answer = "".join(answer.split(i))
return answer
🤔 문제 풀이방법
- vowel 이라는 튜플 생성
- 반복문으로 “”.join(spilt())로 문자 제거
어떻게 이런 발상을 하시죠,, 와,, join이랑 split으로 해결할 수 있다는 게 신기했어요
1.3. 문자 반복 출력하기
def solution(my_string, n):
answer = ''
for text in my_string:
answer += text * n
return answer
🤔 문제 풀이방법
- for text in my_string:
- my_string을 text에 순차적으로 순회하며 넣어줄게요
- answer += text * n
- text 문장을 n번만큼 출력을 할 거라서 text 곱하기 n을 해주면 문제 해결!
2. 프로그래머스 4문제
2.1. 암호 해독
def solution(cipher, code):
answer = ''
for i in range(len(cipher)):
if (i+1)%code ==0:
answer += cipher[i]
return answer
🤔 문제 풀이방법
- for i in range(len(cipher)):
- 주어지는 cipher의 길이만큼을 범위로 해서 i에 넣어줄게요
- if (i+1)%code ==0:
- 문제가 code의 배수 번째 글자만이라고 했으니까 나누었을 때 0이 되는 값을 찾을게요
- 이때 i+1을 해주는 이유는, 배수이기 때문에 code를 곱해줘야 하거든요 기본값이 0이기 때문에 +1을 해주었어요
- answer += cipher[i]
- 그렇게 해서 cipher의 i 번째에 있는 단어를 answer에 추가해 주면, 문제 해결!
2.2. 최댓값 만들기(2)
def solution(numbers):
numbers.sort()
return max(numbers[0]*numbers[1], numbers[-1]*numbers[-2])
🤔 문제 풀이방법
- numbers.sort()
- numbers 자체를 sort 해서 정렬해 줄게요
- return max(numbers[0]*numbers[1], numbers[-1]*numbers[-2])
- numbers 안에는 음수값도 있기 때문에 큰 값 순으로 정렬을 하면 맨 뒤로 가게 돼요
- 그래서 양수 두 개를 곱한 값과 음수 두 개를 곱한 값의 최댓값(max)을 찾으면 문제 해결!
와우,, 8점이나 올라가는 문제였네요?? (,,꒪ᐞ꒪,,)
2.3. 제곱수 판별하기
def solution(n):
answer = 0
if (n**0.5) % 1 ==0:
answer = 1
else:
answer = 2
return answer
🤔 문제 풀이방법
- if (n**0.5) % 1 ==0:
answer = 1- 제곱수인지 아닌지 판별하는 거예요
- n의 0.5 제곱이 1로 나누었을 때 나머지가 0이라는 것은 n이 제곱수라는 뜻이에요
- 그래서 answer을 1로 출력하도록 했어요
- else:
answer = 2- 그 외의 경우는 2가 출력되도록 설정하면 문제 해결!
2.4. 인덱스 바꾸기
def solution(my_string, num1, num2):
my_string = list(my_string)
my_string[num1],my_string[num2] = my_string[num2],my_string[num1]
answer = "".join(my_string)
return answer
🤔 문제 풀이방법
- my_string = list(my_string)
- my_string를 리스트화해서 하나하나 뜯어줄게요
- my_string[num1],my_string[num2] = my_string[num2],my_string[num1]
- num1과 num2를 각각 num2, num1로 바꾸어줄 거라서 조건을 걸어줍니다
- answer = "".join(my_string)
- 파이썬은 위에서부터 밑으로 순서대로 읽기 때문에
- answer은 ""에 my_string을 join해준 값을 리턴하면 문제 해결!
오후(14:00 ~ 18:00)
3. 머신러닝 과제
마무리
갈수록 문제 푸는 속도가 빨라진 게 느껴져서 너무 뿌듯해요!
역시 사람은 하나를 시작할 때 씨앗부터 해서 꽃을 피우기까지의 과정을 거치는 거 같아요
저는 지금 줄기가 돋아나고 봉우리가 생길랑 말랑 중인 거 같아요 🤭
꽃이 한 계절을 대표해서 피잖아요
거의 계절이 얼른 찾아왔으면 좋겠어요 히히
감사합니다!
오늘도 수고 많으셨어요!
'내일배움캠프 TIL' 카테고리의 다른 글
[TIL] 내일배움캠프 본캠프 25일차_코드 카타, 비지도학습, 프로그래머스 (0) | 2024.12.30 |
---|---|
[TIL] 내일배움캠프 본캠프 24일차_코드 카타, 프로그래머스, 머신러닝(지도학습 끝) (2) | 2024.12.27 |
[TIL] 내일배움캠프 본캠프 22일차_코드 카타, 프로그래머스 4문제 (1) | 2024.12.25 |
[TIL] 내일배움캠프 본캠프 21일차_코드 카타, 머신러닝 과제 (0) | 2024.12.23 |
[TIL] 내일배움캠프 본캠프 20일차_코드 카타, 베이직반, 머신러닝 (1) | 2024.12.20 |