오늘 하루는 !!
1. 파이썬 개념 및 문법을 잡고,
2. 프로그래머스 사이트에 있는 모의고사 문제를
푸는 시간을 가졌습니다 ㅎㅎ
1. 파이썬 개념 떼려 잡기!
나노코딩의 파이썬 입문 책입니다!
전체적인 개념을 잡는데에 유용한 것 같아요!
강의에는 자주 쓰는 것들이나, 예제를 풀기 위한
함수들이 적혀 있는데
책에는 모든 개념들과 상세설명들이 다 나와있어서
매우 좋았어요 !
오늘은 2장부터 4장까지는 총 4회독 정도 복습을 했고
5장부터 6장까지 정독하며 이해. 2회독정도 복습을 했어요!
전체적인 개념이해를 하고 나니까, 마음의 무게??라는게 좀 덜한거 같아요!
작년부터 공부하시던 분이나, 이미 강의를 다 듣고
코딩 문제들을 풀고 계신분들을 보면 자꾸 조바심이 나더라구요 ㅠ
결국 1~2달 차이거나 얼마 차이도 안나는데말이죠 ....
오늘은 개념공부를 이렇게 진행해 봤구요 !
2. 프로그래머스에 있는 모의고사 문제 풀어보기
프로그래머스에 있는 문제 가장 많이 찍어서 맞추는 사람 찾기 문제입니다.
다른 분들이 자꾸 풀어봤다고 하시길래... 나만 못 풀었나 싶어서 도전 했는데
계속 안 풀리더라구요 ㅠㅠ
드디어 해결 했습니다 !
문제 풀기전 초기 상태 이해
def solution(answers):
answer = []
return answer
일단 문제를 풀기 전의, 초기 상태인데요
def 은 함수를 정의 한다는 의미입니다.
그 이후에
solution은 함수 이름이고
(answers): 은 함수를 이루는 변수가 answers라는 것입니다.
마지막에 : 은 함수를 마칠 때 마다 써야하는 약속이구요
answer = []는 지금 answer라는 list가 비어 있는 상태이고
return answer를 반환한다는 의미입니다.
수포자 1,2,3의 OMR정답 체크 리스트를 작성
a = [1,2,3,4,5]
b = [2,1,2,3,2,4,2,5]
c = [3,3,1,1,2,2,4,4,5,5]
length= len(answers)
a와 b,c 의 리스트를 작성했고
문제에서 랜덤하게 10000개 이하의 문제를 추출한다고 했기에
전체 문제 수를
length= len(answers)
로 정의 했고
문제수와, 수포자 1,2,3의 정답 체크 리스트의 갯수를 맞춰주기 위해서
a = a * (length//len(a)) + a[:length%len(a)]
b = b * (length//len(b)) + b[:length%len(b)]
c = c * (length//len(c)) + c[:length%len(c)]
각 리스트에 몫을 곱하고, 나머지를 더해주었습니다.
이후
문제들과 각각의 사람들의 정답지를 한 묶음으로 묶어주고
cnta=sum([ x==y for (x,y) in zip(answers, a)])
cntb=sum([ x==y for (x,y) in zip(answers, b)])
cntc=sum([ x==y for (x,y) in zip(answers, c)])
cnt = [cnta,cntb,cntc]
answer = []
max_freq = max(cnt)
for i in range(len(cnt)):
if cnt[i]==max_freq:
answer.append(i+1)
return answer
그 세 묶음을
cnt = [cnta,cntb,cntc]
한 리스트로 만들어 준 다음에
가장 큰 숫자를 가진 변수를 지정하고
for, if, return 함수를 통해 결과값을 도출해보았습니다 ..
다른 분의 정답도 해석해보고 공부하게 되면,
다음 TIL에 기록하도록 하겠습니다 !
오늘도 화이팅!
'부트캠프TIL, WIL > AI웹개발(스파르타코딩클럽)' 카테고리의 다른 글
[AI 웹개발TIL]11일차 개발일지 (3) | 2023.03.24 |
---|---|
[AI 웹개발TIL]10일차 개발일지 (1) | 2023.03.24 |
[AI 웹개발TIL]8일차 개발일지 (2) | 2023.03.21 |
[AI 웹개발TIL]7일차 개발일지 (9) | 2023.03.20 |
[AI 웹개발TIL]6일차 개발일지 (4) | 2023.03.18 |