에라토스테네스의 체 소수를 판별하는 알고리즘이다. 소수란 '양의 약수를 두 개만 가지는 자연수'를 의미하며 2, 3, 5, 7, 11, ... 등이 존재. 이러한 소수를 대량으로 빠르고 정확하게 구하는 방법이 에라토스 테네스의 체 그리스의 수학자이자 지리학자인 에라토스테네스가 고안한 소수(素數)를 찾는 방법으로, 이 방법으로 소수를 찾으려면, 2부터 시작해 자연수를 차례로 쓴 다음, 2 이외의 2의 배수, 3 이외의 3의 배수, 5 이외의 5의 배수의 순서로 수를 지워나가 끝에 남는 수가 소수이다. 2부터 n까지의 숫자중에서 에라토스테네스의 체로 소수를 찾으려면, 2부터 시작해 n까지의 자연수를 차례로 쓴다. (2, 3, 4, ..., n) 그리고 2 이외의 2의 배수를 지운다(p=2). 이때 2가 최초..
분류 전체보기
문제 https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 문제풀이 설탕무게를 5로 나누고 딱 떨어지면 설탕무게/5의 몫을 더해주고 종료. 나머지가 떨어지지 않으면 설탕무게에서 3키로를 빼고 가방증가. 5의 배수가 떨어질때까지 빼다가 정확한 값이 나오면 종료. 만약 나눌수 없는 값이 나올경우 -1로 출력 sugar = int(input()) bag = 0 while True: if (sugar % 5) == 0: bag = bag + (sugar//5) pri..
문제 https://www.acmicpc.net/problem/2869 2869번: 달팽이는 올라가고 싶다 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) www.acmicpc.net 문제풀이 나무 정상에 도달하면 떨어지지 않는다는것을 식으로 어떻게 표현할지 감이 올질 않았다. 단순하게 생각하면됫을것을 문제에서 제시한 그대로 올라가는 길이는 a, 떨어지는 길이는 b, 나무높이는 v로 변수를 선언하고 입력받은 세개의 수를 각각의 변수에 할당해 주었다. 나무에 도달하기 까지 걸린기간에 대한 식은 나무높이에서 마지막날에 올라간 거리를 뺴고 올라가는 길이와 떨어지는길이를 뺀 값을 나누면 값을 구할수 있었다. 이 나눈값이 소수일경우가 생겨..
문제 https://www.acmicpc.net/problem/1267 1267번: 핸드폰 요금 동호가 저번 달에 이용한 통화의 개수 N이 주어진다. N은 20보다 작거나 같은 자연수이다. 둘째 줄에 통화 시간 N개가 주어진다. 통화 시간은 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 문제풀이 n = int(input()) l = list(map(int, input().split())) y = 0 m = 0 for i in l: y += i // 30 * 10 + 10 m += i // 60 * 15 + 15 if y m: print('M %d' % m) else: print('Y M %d' % y) n이 통화시간이라하고 ..
문제 https://www.acmicpc.net/problem/1964 1964번: 오각형, 오각형, 오각형… 첫째 줄에 N(1 ≤ N ≤ 10,000,000)이 주어진다. www.acmicpc.net 문제풀이 오각형의 점의 개수는 다음과 같이 늘어난다 단계 합계 1 5 5 2 5 7 12 3 5 7 10 22 4 5 7 10 13 35 초기값 5와 추가되는 값 7을 변수할당해주고 입력값의 단계를 돌면서 3과 add를 start에 더해준다. add선언해준 변수가 있으니 1단계부터 for문이 시작. n = int(input()) start = 5 add = 7 for i in range(1, n) : start += add add += 3 print(start % 45678)
문제 https://www.acmicpc.net/problem/1076 문제풀이 리스트에 각 저항의 값에 해당하는 '색상' 순서대로 넣고 인덱스값을 활용하여 풀이 for문으로 입력을 받고 입력값에 해당하는 색상의 인덱스값을 뽑아 계산했다. 마지막 인덱스는 제곱계산에 활용 list = ['black','brown','red','orange','yellow','green','blue','violet','grey','white'] a,b,c = [input() for i in range(3)] result = ((list.index(a) *10) + list.index(b)) * (10**list.index(c)) print(result)
자바스크립트기본문법 1. HTML을 요소 변경 안녕 2. 누르면 무언가를 실행하고 싶을때( 이벤트리스너 ) 안녕 버튼 3. 잠깐 자료를 저장해두고 싶을때 (변수선언 및 자료구조) [JavaScript] 무엇으로 변수 선언을 하는것이 좋을까? var, let, const의 차이점 안녕 버튼 4. 긴 코드를 짧게 축약하려할때 (function) 5. 함수를 다양하게 쓰려면 파라미터를 잘 사용 7. if/else 조건문 8. for, freEach 반복문 안녕 버튼
변수란? 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 메모리 공간을 식별하기 위해 붙인 이름을 뜻하며, 간단히 말하자면 값의 위치를 가르키는 상징적인 이름 변수는 하나의 값을 저장하기 위한 수단이며, 객체나 배열같은 자료구조를 사용하면 여러개의 값을 그룹화하여 하나의 값처럼 사용가능 var id= 1; var name = 'go var user = {id:1, name: 'go'} var 변수이름(식별자) = 변수값 변수에 값을 저장하는 것을 할당(대입,저장)이라 함 변수 선언 변수를 사용하려면 반드시 선언이 필요하며, 변수를 선언할때는 var, let, const 키워드를 사용함. var 키워드는 여러단점이 있는데 가장 대표적인것이 블록레벨 스코프를 지원하지 않고 함수레벨 스코프를 지원한다..
입력받은 문자열을 숫자로 바꾸어 줄때 쓰는 두 가지의 함수가 있는데 어떤차이가 있는지 궁금했다. > 문자열이 숫자로만 이루어질경우 동일한 결과. var num = "1234" var num = Number('1234'); // 1234 var num = parseInt('1234'); // 1234 > 문자열이 숫자와 문자로 이루어질경우 다른 결과. var num = "1234" var num = Number('1234입니다'); // NaN var num = parseInt('1234입니다'); // 1234 var num = parseInt('이거슨1234'); // NaN parseInt는 함수명 그대로 정확한 파싱이 필요할때, Number는 빠른 처리 속도를 원할때 사용하면 될 것 같다.