목록전체 글 (170)
JiSoo's Devlog

import sys n = int(sys.stdin.readline()) a = [0]*10001 for i in range(n): d = int(sys.stdin.readline()) a[d] += 1 for i in range(10001): if a[i] != 0: for j in range(a[i]): print(i) list에 새로운 값을 append 해서 푸는 방식을 사용하려 했지만 append를 하게 되면 메모리 재할당이 일어나 메모리를 많이 잡아먹는다고 한다 수의 범위가 1~10,000 이므로 계수 정렬 이용 계수 정렬 알고리즘 - 배열의 인덱스를 특정한 데이터의 값으로 여기는 정렬 방법 - 배열 크기는 데이터 범위 포함할 수 있게 설정 - 데이터가 등장한 횟수 센다 - 데이터의 개수가 많을..

npx create-react-app my-app cd my-app npm start create-react-app을 이용하면 자동 재실행이라는 장점이 있다 npm i prop-types PropTypes를 checking 하기 위해 PropTypes install create-react-app은 CSS코드를 javascript 오브젝트로 변환시켜 준다 CSS modules -> Button.module.css import styles from "./Button.module.css"; function Button({ text }) { return {text}; } create-react-app은 무작위적인 랜덤 class를 갖는다 동일한 class 이름을 다른 파일 내에서도 사용 가능 function A..

props는 부모 컴포넌트로부터 자식 컴포넌트에 데이터를 보낼 수 있게 해주는 방법 컴포넌트는 어떤 JSX를 반환하는 함수 ReactJS에서 스타일 적용하는 방법 중 가장 기본적으로 할 수 있는 방법은 태그 내의 style 변경하는 것 -> 이 방법이 최적 X 모든 컴포넌트들은 괄호로 인자를 받는데 이 인자 이름을 props라고 부른다 Btn({text:"Save Changes"}) 아래처럼 적은 게 위의 코드 같은 의미 ReactJS는 자동으로 우리가 넣은 모든 prop들을 object 안으로 집어넣고 오브젝트는 컴포넌트의 첫 번째 인자로 주어진다 props는 첫 번째이자 유일한 인자 function Btn(props) { console.log(props); return ( {props.text} );..

a,b = map(int, input().split()) def gcd(a, b): while b != 0: r = a % b a = b b = r return a print(gcd(a, b)) def lcm(a, b): lcm = (a * b) // gcd(a, b) return lcm print(lcm(a, b)) 유클리드 호제법 - a를 b로 나눈 나머지 r - a와 b의 최대공약수는 b와 r의 최대공약수 - a와 b의 최대공약수는 b와 a%b의 최대공약수 gcd(24, 18) = gcd(18, 6) = gcd(6, 0) b가 0이 되는 순간이 최대공약수 6 최대공약수를 K라고 한다면 a = K * x b = K * y 이때 K가 최대공약수이기 때문에 x, y는 서로소 a * b = K * K * ..

n = int(input()) m = list(map(int, input().split())) r = [] for i in range(n): if m[i] == 1: continue else: k = m[i] c = 0 for j in range(2, k): if k % j == 0: c += 1 if c == 0: r.append(k) print(len(r)) 소수는 자신을 제외하고 2 이상의 자연수로 나누어 떨어지지 않는다 그렇기 때문에 2 이상의 자연수로 나누어 떨어지면 c+=1 되도록 작성 반복을 마친 후 c가 0이라면 1과 자기 자신을 제외하고 나누어 떨어지는 수가 없다는 의미이기 때문에 소수

import math n, k = map(int, input().split()) print(math.factorial(n) // (math.factorial(k) * math.factorial(n-k))) math.factorial 함수 사용

while(1): n = list(map(int, input().split())) if sum(n)==0: break m = max(n) n.remove(m) if m**2 == n[0]**2 + n[1]**2: print("right") else: print("wrong") while문이 반복되는 동안 세 수 받기 리스트에서 가장 큰 수를 찾고 나머지 두 수의 제곱의 합을 구해야 하기 때문에 remove로 제거

n = int(input()) c = 0 while(1): if(n % 5 == 0): c = c + n//5 print(c) break else: n = n - 3 c += 1 if n < 0: print("-1") break 설탕 무게를 5로 나누어 주었을 때 나머지가 0이라면 몫을 더해주고 출력 나머지가 0이 아니라면 3을 빼고 +1 해준 후 출력 반복 설탕 무게가 음수가 되면 -1 출력

state는 기본적으로 데이터가 저장되는 곳 countUp을 호출할 때마다 ReactDOM.render부분을 다시 호출하고 싶은 것인데 먼저 애플리케이션이 시작될 때 Container를 렌더링 하고 우리가 Container를 렌더링 할 때 counter는 0 const root = document.getElementById("root"); let counter = 0; function countUp() { counter += 1; render(); } function render() { ReactDOM.render(, root); } function Container() { return ( Total clicks: {counter} Click me ); } render(); 우리가 해야 하는 건 Cont..

a, b, v = map(int, input().split()) d = (v-b) / (a-b) print(int(d) if d == int(d) else int(d) + 1) 정상에 올라가고 나서는 밤에 미끄러지지 않는다! 밤에 미끄러지지 않는 것을 고려해 b 쪽에만 d-1 해주고 정리한 식이 두 번째 줄 코드 (a*d) - (b*d) >= v 파이썬에서 삼항 연산자는 [참일 때] if [조건문] else [거짓일 때] ex) print("짝수") if a%2==0 else print("홀수")