포맷팅을 하고, 들어가는 순서가 헷갈려서 인덱스를 그냥 넣었음.
number 파라미터에 들어오는 숫자가 나누어 떨어지면, True,그게 아니면 False가 나오도록 하였다. ( 조건문을 활용 )
저번에 풀어 봤던 문제
파이썬에서 증감연산자 는 i++ 가 없다.→ 그래서 i += 1 을 사용해야 한다.continue는 다음 과정으로 그냥 넘어가는 것.
크게 설명할 부분이 없다. total이 100 >= A > 91 90 >= B > 81 80 >= C > 71 70 >= D > 61 60 >= F > 0 를 범위로 두고 함수를 해석하면 된다.
while 문, if 문
모범 답안과 크게 다르지 않아서, 모범 답안은 가져오지 않았다.약수는 해당 인수에다가 나누게 되면, 나머지는 항상 0이다. 이를 고려하여 알고리즘을 짰고, 출력할 때 마다, count 변수에다가 1씩 더하였다. 그리고 i 도 반복 할 때마다 1씩 더하였다.
모범 답안과 역시 유사하여 본인 풀이만 가져왔고, 문제가 길어서 조금 당황했다. 그래도 생각보다 문제가 괜찮아서 수월하게 해결하였다. ( 진짜 알고리즘은 이거보다 더 어렵겠지... ㅎ )변수 설정이 핵심! 그리고 이자 계산은 반복문으로, 비교는 조건문으로!
이 문제는 사실 전에 JS로 구현해봤다. 아마 그때 내가 못풀었던 것은 temp라는 임시 저장소를 만들지 않아서 풀지 못했던 것으로 기억한다. 이를 기억한 나는 생각보다 구현이 쉬웠다(?) → 졸면서 풀었으니 쉬운건가(?)
풀다 보니까 알아서 내가 디버깅을 눈으로 하고 있었다... ( 좋은 현상(?) )그래서 오류가 나도 어디서 오류가 나는지 보였다. 그게 8번째 줄에 second = 1 재할당이었다.무튼 이러한 기지(?)를 발휘하여 문제를 해결했다. 원래는 이렇게 해야함 ㅎㅅㅎ
자바스크립트에 길들여진 나를 본 문제였다... 일단 파이썬에서는 length를 쓰지않는다 하핳그래서 len() 이라는 함수를 써야했고, 이 부분이 해결되면 쉽게 풀 수 있는 문제였다.
온도 단위 바꾸기(난이도 중하)
모범답안과 크게 다르지 않지만 달러를 엔화로 변환할 때, 본인은 달러기준으로만 생각해서 공식이 다른 것 같다. 이전 문제를 열심히 피드백 했다면 크게 어렵지 않은 문제였다.
모범답안과의 차이점은 나는 코드를 복붙하는게 귀찮아서 반복문을 통해서 .append 하게 되었다. 이게 잘한 짓인지는 모르겠지만 나도 귀차니즘이 좀 있는 거 같다 ㅎㅋㅋㅋ그리고 해당 코드를 작성하는 것에 시간이 좀 걸렸는데 셀프디버깅의 중요성을 깨달았다. 알고리즘의 순
오답문제 : 일단 이번 문제 파이썬에서 처음으로 오답이 나왔다. 그래서 결국에는 답을 보고 했는데,이유 : print(a, b) 의 형태로 해도 되는지 몰랐다. 이번에 알게 되었으니, 진짜 다시는 안틀릴꺼다...
이렇게 간단한 코드인데 왜 글을 올렸나?간단했지만, 지금까지 배워온 것 들을 까먹으면 절대로 풀 수 없는 문제이기 때문이다.\*\* 이거 겨우 떠올렸음... ㅎㄷㄷ 그리고 {}.format() 겨우 떠올림다음에는 좀 까먹지 말자
난이도 중하 : 크게 어렵지 않았다. 해설 끝
오답문제 : 일단 a + b + c = 400 이라는 조건이 가장 중요하다. 이 말은 a가 0~399가 될 수 있다는 말이고, 그래서 for문과 range()를 활용하여, 경우의 수를 커버해야한다.그래서이렇게 a와 b의 경우의 수를 모두 밝혀주고, c는 굳이 안해도 되
일단 해당 코드는 본인이 작성했고, insert()를 사용했기때문에 굉장히 쉽게 풀 수 있었다. 하지만 모를 경우에는?그걸 대비해서 모범 답안이 있는 것 같다.insert() 없을 때는 0은 7과, 1은 6과 등으로 순서를 바꿔주는 작업이 필요함그래서 left 에 0이
어렵지는 않고 객체 추가하는 양식만 잘 익혀두자.
반복문을 사용해서 key, value 를 items() 라는 새로운 방법을 써먹어서 전부다 꺼냄!그리고 new_dict\[value] = key 만 해주면 알아서 바뀜. key를 오른쪽에 넣어서 new_dict\[]에 넣어주는 건 이해가 되는데, 그럼 new_dict\
일단 나는 후보군이 3명으로 좁혀져 있기 때문에, 객체 안에 사람이름을 키값으로 하여 value값을 0으로 초기화 시켜주었다.그래서 반복문을 사용할 때, 해당 이름이 나오면 value 값을 1씩 증가시켜주는 코드를 짰다. 근데 내가 원하는 방식은 모범답안에 있었다.no
나는 그렇게 어렵지는 않았던 문제였다. 뒤에서부터 4번째자리까지 기준을 잡고 그 뒤에 \*\*\*\* 을 더했기 때문에 문제가 없었는데, 풀이 후기보면 말들이 많았다. 그래서 모범답안을 참고해야할 것 같다.먼저 문자열을 배열로 바꿔주는 list() 를 사용한다. 그리고
사실 나는 문자열 자체를 뒤집을 생각이 없었다. 원래는 배열로 바꾸고 대립되는 배열의 양 끝단을 비교하는 식으로 풀려고 했는데 생각이 안났다... 그래서 저렇게 풀었다. 역시 모범답안이 내가 원했던 유형이다. 진짜 기회가 된다면 다음에는 꼭 이렇게 풀어야지 ㅠㅠ 내가
오답문제 : 일단 풀지 못했다. 모범답안을 가져왔는데, 내가 무슨 생각을 했길래 풀지 못했는가를 분석해보았다. 원인은 다음과 같다.input()를 출력하려면 꼭 print를 해야하는 줄 알았다.guess 라는 변수에 input()을 넣기만 해도 된다는 걸 알게됨whil
with open('txt', 'r') as f:
음... 어려운데 은근? ㅋㅋㅋㅋㅋㅋ 답지 보면 이해가 되넹
클린코드는 변수 저장에 달려있다!
작업 분할 좀 하자! 정리하고(딕셔너리 형태로) 랜덤값 주고(배열의 인덱스로) 그리고 조건문으로 출력!
오늘 머리가 좀 안돌아가는 듯 하핳
복습하자 복습
if num in arr : num 이 arr 과 같은 게 있다면? true!
복잡하다 싶으면 변수로 넣어볼 생각을 하자.
자릿수 합 구하기 은근 까다로움
len(arr) / if not in
`len(new_guess)` , `반복문으로 input("{}번째",format(len(new_guess) + 1)`, `append 작업이 없으면 input창 무한 반복`
`i` 는 0~2 의 범위를 가지며, 같은 인덱스 숫자끼리 같으면 `strike` 로 조건을 둔다. 그리고 바로 elif로 넘어가는데, 이는 `guesses[i] != solution[i]`의 의미가 포함되면서 `guesses[i]` 가 solution에 있는 숫자이다
로또 보다는 쉬웠지만, 역시나 갈길이 멀었다... 나중에 또 미니프로젝트를 하게 된다면 그때는 제대로 만들어서 GITHUB에 배포해야겠다.