인사말

안녕하세요~! 오늘은 수요일입니다

평일의 중간날이네요!

이번주도 반이나 달려왔다는 뜻이죠!

조금만 더 힘내봅시다 😚

아!

TMI지만,

오늘은 비염 때문에 하루종일 힘드네요 ㅠㅠ

어제 운동하러 나갔다가 꽃가루 때문에 비염이 더 심해진 거 같아요ㅠㅠ

이렇든 저렇든, 오늘도 파이팅입니다!

오늘의 일정
오전(09:00 ~13:00) 09:00 ~ 10:00 코드카타 3문제, 팀 오전 회의
10:00 ~ 10:10 머신러닝 전처리 방법 이론 정독
11:00 ~ 12:55 Git 특강 시청
오후(14:00~18:00) 14:00 ~ 15:00 머신러닝 전처리 방법 개념 습득
15:00 ~ 16:30 프로그래머스 6일차 문제 풀기
16:30 ~ 17:30 분반 OT
17:30 ~ 18:00 진로 상담
저녁(19.30~21:00) 19:00 ~ 21:00 Figma로 앱 시작 화면 만들기 및 브레인 스토밍
21:00 ~ 21:30 프로그래머스 6일차 문제 풀기

요약

  1. 코드 카타
    1. 몫 구하기
    2. 나이 출력
    3. 두 수의 합
  2. Git 특강
    1. commit
    2. git의 세 가지 영역
    3. 간단한 과제
      1. edu_git_commit 폴더를 생성해 주세요. (mkdir)
      2. a.txt 파일을 생성하시고 커밋 메세지를 남겨주세요. (touch , git commit -m)
      3. a.txt 파일을 수정하시고 "update a.txt"를 남겨주세요. (git add .)
  3. 머신러닝 전처리 방법
    1. 데이터 타입 변환
    2. 인코딩
    3. 샘플링
  4. 프로그래머스 6일 차 문제 풀이
    1. 문자열 뒤집기
    2. 직각삼각형 출력하기
    3. 짝수 홀수 개수
    4. 문자 반복 출력하기
  5. 프로젝트
    1. 앱 시작 화면 만들기 (Figma)

오전(09 : 00 ~ 13 : 00)

오늘도 돌아온 코드카타!!

아직 초반이기도 해서 문제가 재밌더라구요

그래서 오늘부터 3문제씩 풀기로 했습니다!

 

<코드 카타>

1.1 몫 구하기

def solution(num1, num2):
    answer = num1 // num2
    return answer

 

1.2 나이 출력

def solution(age):
    return 2023 - age

이렇게 제출하였지만, 문제가 뭐였는지 잘 모를 거 같아서

def solution(age):
    return 2022 - age + 1

이렇게 제출해도 될 거 같아요!

 

1.3 두 수의 합

def solution(num1, num2):
    answer = num1 + num2
    return answer

끝!

 

(11:00 ~12:55 )

2. Git 강의

 

<간단한 git 과제>

1. edu_git_commit 폴더를 생성해 주세요.
2. a.txt 파일을 생성하시고 커밋 메시지를 남겨주세요.
3. b.txt 파일을 생성하시고 커밋 메세지를 남겨주세요.
4. a.txt 파일을 수정하시고 "update a.txt"를 남겨주세요.

저는 터미널을 통해서 작업해 보았습니다!

무수히 많은 시도 끝에 해냈어요

일단 터미널을 켜줍니다!

켜서 ls를 해줬어요 그냥 해보고 싶었어요 🤪

cd desktop을 해주고 파일 경로가 desktop에 있도록 설정해 주었습니다

과제_폴더 및 파일 생성하기

기능 명령어
폴더 생성하기 mkdir "폴더명"
mkdir folder name
현재 위치 이동하기 cd folder name
파일 생성하기 touch file name
현재 위치의 파일 보기 ls

폴더와 파일을 생성 완료 해줬으니까

커밋 메시지를 남겨볼까요~?

2. a.txt 파일을 생성하시고 커밋 메세지를 남겨주세요.

기능 명령어
커밋 메세지 남기기 git commit -m "text"

명령어는 잘 넣어주었지만 ㅋㅋ,,

git init을 안 해줘서 커밋 메시지가 적용이 안 되더라구요

그래서 init 해주고 다시 커밋 메시지를 넣어주었습니다

아,, 🙄

repository에다가 파일을 안 넣어줬어요

아,, 🙄

기능 명령어
파일 한 번에 넣어주기 git add .
깃 상태 확인하기 git status

파일 넣어준 거 잘 들어갔는지 확인해주고

초록색으로 색칠됐길래

드디어!! 커밋 메시지를 넣을 수 있었습니다

휴,, 편안

4. a.txt 파일을 수정하시고 "update a.txt"를 남겨주세요.

a.txt 파일에 들어가서 내용 수정 후, 저장해 주고요

다시 터미널로 돌아와서

git add . 해주고 커밋 메시지를 남겨주었습니다

기능 명령어
파일 히스토리 보기 git log

마지막으로 제가 입력한 파일이 최신으로 됐는지 확인해 주면!

과제 끝끝~!

완전 재밌었어요!! 😆

마우스 없이 키보드로만 폴더 생성하고, 파일 생성하니까 너무 재밌었어요!

아! 그리고

튜터님께서 수정하려는 파일을 열려하실 때 

code .

로 여시더라구요

저도 그게 하고 싶어서

다 해봤는데 안 되더라구요 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

그래서 튜터님께 가서 여쭈었더니

*맥북 기준입니다. 윈도우는 명령어 몰라요*

command + Shift + P 눌러주시면

VSCode에 저렇게 입력하는 창이 뜰 겁니다 (>)

거기에 shell을 검색해 주시면

Shell Command: install 'code' command in PATH

이게 뜰 텐데, 이걸 설치해 주시면

터미널에서 code . 이렇게 입력해서 VSCode를 바로 실행할 수 있을 거예요!

 

<파일 삭제>

c.py가 삭제된 상태죠?

삭제되었을 때도 똑같이 

이 절차를 해주시면 됩니다!

파일 수정 후 업데이트 하는 것처럼

파일 삭제 후 업데이트를 똑같이 해주시면 돼요

이상-! 


오후(14:00 ~ 18:00)

자! 머신러닝 이상치 처리 중에 나머지들 해볼까용?

3. 머신러닝 전처리 방법

3.1 데이터 타입 변환

기능 함수
데이터 타입 변경 .astype()
int, str, float
# 특정 열의 데이터 타입을 정수형으로 변환
df['column_name'] = df['column_name'].astype(int)

# 특정 열의 데이터 타입을 문자열로 변환
df['column_name'] = df['column_name'].astype(str)

# 특정 열의 데이터 타입을 부동 소수점으로 변환
df['column_name'] = df['column_name'].astype(float)

 

3.2 인코딩

: 범주형 데이터를 수치형 데이터로 변환하는 과정을 의미

: 머신러닝 모델은 수치형 데이터를 입력으로 받기 때문에, 범주형 데이터를 수치형으로 변환하는 것이 필요

기능 함수
범주형 데이터를 더미 변수로 변환 get_dummies(데이터명, cloumns=[''])

 

3.3 샘플링

: 데이터셋의 크기를 즐이거나 늘리는 과정을 의미

: 데이터셋의 대표성을 유지하면서 데이터의 크기를 조절하는 데 사용

함수
.sample() .sample(frac=0.5)
50% 샘플 추출 
.sample(n=100)
100개의 샘플 추출

 

(15:00 ~ )

4. 프로그래머스 6일 차 문제 풀이

4.1 문자열 뒤집기

"배열"이라는 말에 어제 썼던

.reverse() 함수를 써서 해보았어요

근데 str 형태로는 reverse가 적용되지 않는다고 하네요 😵‍💫

 

def solution(my_string):
    return my_string[::-1]

"문자열"로 들어오기 때문에 문자열의 슬라이싱을 써봤어요

이게 강의 초반에 배웠던 함수인데,

완전히 까먹고 있는 상태였어요 😞

게다가 저번주 토요일에 이렇게 정리까지 했으면서

전혀 머리에 들어오지 않은 상태였더라구요 🙄

그래도 뭐

이제라도 다시 상기시켰으니 됐죠 뭐,,

 

4.2 직각삼각형 그리기

ㅋ 될 리가 없죠

진짜 단순하게 생각하고 해 보았는데

될리가요 ㅋㅎ

n = int(input())

for star in range(n):
    print((star+1) * '*')

문자열을 여러 개 프린트할 때 쓰는 코드 있잖아요

print('hi' * 3)

#결괏값
hihihi

이런식으로요

그걸 이번에

print((star+1) * '*')

이렇게 표현했어요

그래서 문제가 잘 해결됐답니다!

도와주신 우리 동기분들, 팀원분들 감사해요 ㅎㅎㅎ 🖤

 

4.3 짝수 홀수 개수

def solution(num_list):
    answer = [0,0]
    
    for num in num_list:
        if num % 2 == 0:
            answer[0] += 1
            
        if num % 2 != 0:
            answer[1] += 1
            
    return answer

풀기는 풀었지만 친구가 없었더라면 완성해내진 못 했다고 생각해요

제가

def solution(num_list):

    
    for num in num_list:
        if num % 2 == 0:

            
        if num % 2 != 0:

            
    return answer

이렇게만 완성했지, 끝까진 코드를 완성해내진 못했거든요 ㅎㅎ,,

answer = [0,0]
answer[0] += 1

이 코드가 의미하는 것이

answer 리스트의 첫 번째 자리에 +1을 계속 해주며 결괏값을 낸다는 뜻이래요

알아가야 할 개념이 넘 많네요,, 🙄

친구가 이렇게도 풀 수 있다고 보여줬어요 😎

내 친구는 멋쟁이 😎

친구한테 많이 배워가고 있는 접니다

친구를 갈아만든 배,, 민경 ✌🏻

 

4.4 문자 반복 출력하기

def solution(my_string, n):
    answer = ''
    
    for text in my_string:
        answer += text * n
        
    return answer

이번에도 비슷한 원리로 풀어주었어요

+=를 쓸 때는 위에 변수를 초기화 해줄 걸 만들어줘야 한대요

answer = ''

이런 애요

문자열이 될수도 있고, 리스트형이 될수도 있고 인트형이 될수도 있대요

# 리스트(list)
answer = []

# 인트 (int)
answer = 0

 

(16:30 ~ 17: 30)

오늘부터 분반으로 교육이 진행되기 때문에

16시 30분부터 베이직반 OT를 들었어요~!

저는 파이썬 기초가 자리 잡혀 있지 않기 때문에

베이직반을 신청하였답니다!

2주 동안은 파이썬 문법과 개념 위주로 수업하신다 하셔서

너무너무 좋았어요 😻

 

그리고

현실적인 얘기도 말씀해 주셔서,,

오늘부터 저의 프로젝트를 하나 해보려 합니다!

안 그래도 튜터님 갈아서 만드는 배,,민경인데 말이죠

꾸준히 피드백받고 보충해 나가려고요

아이디어는 4개 정도 생각해 놓은 게 있어서

실현 가능한 걸 선정해서 해볼 겁니다!

 

(17:30 ~ 18:00) 

OT 끝나자마자 상담했어요

저는 게임 쪽으로 가고 싶어 했거든요

그런데 현실을 마주하고 나서는 다른 길도 한 번 고려해 봐야겠어요

그래서 제 취미 중 하나인, 다이어리 앱을 만들어보려 합니다

그래서 피드백 주거니 받거니 했어요


저녁(18:30 ~ 21:00)

5. 프로젝트

5.1 앱 시작 화면 만들기 (Figma)

튜터님께서 알려주신 "Figma"라는 사이트에 들어가서

앱 화면들?을 구성해 보았습니다

https://www.figma.com/

앱 시작할 때의 화면 변천사입니다

너무 귀여워요,,,ㅠㅠ

아직 내용을 어떻게 꾸려갈지는

브레인스토밍 중이라서 오늘은 앱 시작 화면만 완성했습니다!

프로세스 구성하고 앱 화면도 차차 완성해 나갈 거예요

파이팅!


마무리

제가 좋아하는 프로게이머의 멘트 중 하나가 떠오르네요

"가장 예쁜 꽃은 우여곡절 끝에 피는 꽃"

지금 이 모든 과정들이 꽃을 피우기 위한 과정이라고 생각하려구요

물론 현실의 장벽에 세게 부딪혀서 멘탈이 나갔었지만,

여태껏 살아오면서 장벽을 몇 개나 넘었겠어요

그냥 장벽 하나 더 생겼구나~ 하고 뛰어넘어갈 준비를 하면 되는 거죠!

저는 저를 믿습니다 😋

오늘도 수고 많으셨어요!

감사합니다 :)

+ Recent posts