본문 바로가기

구현63

[ 파이썬(python) ] 백준 1110 - 더하기 사이클 📍 백준 1110 - 더하기 사이클 백준 1110 - 더하기 사이클 ⚡️ 나의 풀이 문제의 조건대로 구현하면 되는 문제인데, n번 사이클을 돌고 나서 원래의 수와 같아지는 조건식을 잘못 넣어서 조금 헤맸다. 결론적으로 처음 입력을 새로운 변수 check로 선언하고 제일 마지막에 나온 값과 비교해주면 됐다. 또, 처음 조건에 주어진 수가 10보다 작으면 앞에 0을 붙인다고 나와있는데, 사실 이 조건은 없어도 되는 조건이다. 예를 들어 처음 주어진 수가 5라고 할 때, 앞에 0을 붙여주고 각 자리의 숫자를 더하면 0+5가 되는데, 0은 있으나 없으나 같은 값이 되기 때문이다. 따라서 해당 조건은 건너뛰고 생각하면 된다. 여담이지만 각 자리의 숫자를 더하는 방법은 다음과 같다. 재귀함수를 이용해서 10으로 나.. 2021. 5. 18.
[ 파이썬(python) ] 백준 7568 - 덩치 📍 백준 7568 - 덩치 백준 7568 - 덩치 ⚡️ 나의 풀이 언젠가 단계별 풀이에서 한번 봤었는데, 어떻게 풀어야 할지 몰라 넘겼었는데 이번엔 풀었다. 이 문제의 가장 핵심 문장은 각 사람의 덩치 등수는 자신보다 더 큰 덩치의 사람의 수로 정해진다.이다. 이중 반복문의 범위는 A-B, A-C, A-D, A-E / B-A, B-C, B-D, B-E / C-A, C-B, C-D, C-E / E-A, E-B, E-C, E-D 처럼 모든 경우의 수를 비교할 수 있게 선언해야 한다. A-B나 B-A나 같은거아닌가?! 라고 생각할 수도 있지만, 각각의 케이스에서 덩치 등수를 셀 때 나를 제외한 모든 사람의 덩치를 비교해야 하기 때문에 같지 않다. 자신을 포함한 모든 경우의 수를 조사한다.(반복문의 범위 설정의.. 2021. 5. 18.
[ 파이썬(python) ] 백준 4673 - 셀프 넘버 📍 백준 4673 - 셀프 넘버 백준 4673 - 셀프 넘버 ⚡️ 나의 풀이 문제는 대충 이해됐지만, 막상 코드로 표현하려니까 막막했다. 시작 범위를 어디서부터 잡아야 하는지도 잘 몰랐는데, 많은 고민 끝에 다음과 같은 방법을 생각했다. 생성자가 없는 숫자를 셀프 넘버라고 칭하니까 생성자가 있는 숫자들을 구하고 새로운 리스트에 담아주자. 전체 1 ~ 10000까지의 리스트를 초기화하고, 생성자가 있는 숫자들을 모두 빼면 나머지 값은 모두 셀프넘버가 된다. 문제에 10000보다 작거나 같은 셀프넘버라고 나와있으니까. 종료 범위는 10000이고, 시작 범위는 문제에 양의 정수 n에 대해 계산한다고 나와있으므로 1부터 시작한다. 또, 이와같이 생각했음에도 답이 도출되지 않았는데 원인은 target.append.. 2021. 5. 18.
[ 파이썬(python) ] 백준 1977 - 완전 제곱 수 📍 백준 1977 - 완전 제곱수 백준 1977 - 완전 제곱수 ⚡️ 나의 풀이 완전 제곱수를 만들 때는 root만 계산하면 되는 줄 알았는데, 반례가 있기 때문에 다시 제곱을 취해줘야 한다는 것을 처음 알았다. 그리고 root를 취할 때 math.sqrt 대신 i ** 0.5를 하면 간편하게 계산 할 수 있다. (이것도 처음 알았다.) 처음 수를 root를 취하자(i^0.5) (first = int(i \*\* 0.5)) first에 다시 거듭제곱(i^2)을 해준다. (second = first \*\* 2) while문을 사용하지 않아도 된다. 만약, append값이 없으면 ( num == [] )과 같이 사용한다. m = int(input()) n = int(input()) num = [] for .. 2021. 5. 17.
[ 리액트(React) ] 함수로 전달해주는 인자가 3개 이상일 때, 객체로 묶어서 전달하기 📍 함수로 전달해주는 인자가 3개 이상일 때, 객체로 묶어서 전달하기 함수로 넘겨주는 인자가 3개 이상이면, 객체 하나로 묶어 가독성이 좋아지게끔 하자. 다음 링크는 JS 클린 코드 지침서를 한국말로 번역한 깃허브링크이다. 어떻게 코드를 짜야할지 감이 오지 않는다면 다음 링크를 참고하자. Robert C. Martin's - Clean Code 한글 번역판 함수(Functions) 예를 들어, defaultScore 객체에 str, dex, int, luck의 능력치가 들어있는데 버튼을 클릭 할 때마다 능력치를 올라가게 설정하려고 한다면, 다음과 같이 작성할 수 있다. 여기서 중요한 점은 quizScore에서 인자를 하나하나 따로 떼어서 받는게 아니라 전체를 묶어서 보낸다는 점이다. 이후에 함수 안에서 .. 2021. 5. 16.