분류 전체보기
-
백준(BOJ) 1699번 제곱수의 합알고리즘 풀이/백준(Boj) 2019. 7. 18. 13:44
문제: https://www.acmicpc.net/problem/1699 문제어떤 자연수 N은 그보다 작거나 같은 제곱수들의 합으로 나타낼 수 있다. 예를 들어 11=32+12+12(3개 항)이다. 이런 표현방법은 여러 가지가 될 수 있는데, 11의 경우 11=22+22+12+12+12(5개 항)도 가능하다. 이 경우, 수학자 숌크라테스는 “11은 3개 항의 제곱수 합으로 표현할 수 있다.”라고 말한다. 또한 11은 그보다 적은 항의 제곱수 합으로 표현할 수 없으므로, 11을 그 합으로써 표현할 수 있는 제곱수 항의 최소 개수는 3이다.주어진 자연수 N을 이렇게 제곱수들의 합으로 표현할 때에 그 항의 최소개수를 구하는 프로그램을 작성하시오. 나의 풀이: 어떤 한 수를 제곱수의 합으로 나타낸다면 그 수의 ..
-
자바스크립트 데이터 타입, 연산자 정리Web/자바스크립트 2019. 7. 17. 20:42
자바스크립트의 기본 타입 : 숫자, 문자열, 불린값, null , undefined 기본적으로 느슨한 타입 체크 언어. var라는 한 가지 키워드로만 변수를 선언한 후 어떤 타입의 데이터라도 저장 가능. 자바스크립트 기본타입 숫자 하나의 숫자형만 존재한다. 자바스크립트는 모든 숫자를 64비트 부동 소수점 형태로 저장한다. ex ) var intNum = 10과 var floatNum = 0.1의 typeof 연산자 결과값이 모두 number 타입 문자열 ''나 ""로 생성. C언어의 char타입과 같은 데이터 타입은 존재하지 않는다. 한개의 문자는 길이가 1인 문자열을 사용하자. 한 번 정의된 문자열은 변하지 않는다. 한번 생성된 문자열은 읽기만 가능하고 수정은 불가능. 불린값 null과 undefine..
-
숫자 게임알고리즘 풀이/알고리즘 해결전략 연습 2019. 7. 17. 06:13
문제 : https://algospot.com/judge/problem/read/NUMBERGAME 문제n개의 정수를 일렬로 늘어놓은 게임판을 가지고 현우와 서하가 게임을 합니다. 게임은 현우부터 시작해서 번갈아가며 진행하며, 각 참가자는 자기 차례마다 두 가지 일 중 하나를 할 수 있습니다.게임판의 왼쪽 끝에 있는 숫자나 오른쪽 끝에 있는 숫자 중 하나를 택해 가져갑니다. 가져간 숫자는 게임판에서 지워집니다.게임판에 두 개 이상의 숫자가 있을 경우, 왼쪽 끝에서 2개, 혹은 오른쪽 끝에서 2개를 지웁니다.게임은 모든 숫자가 다 없어졌을 때 끝나며, 각 사람의 점수는 자신이 가져간 숫자들의 합입니다. 현우와 서하는 점수가 더 낮은 쪽이 점수 높은 쪽에 한 점 차이마다 백 원씩 주기로 내기를 했습니다. 두..
-
백준(BOJ) 2156번 포도주 시식알고리즘 풀이/백준(Boj) 2019. 7. 16. 15:07
문제 : https://www.acmicpc.net/problem/2156 문제효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규칙이 있다.포도주 잔을 선택하면 그 잔에 들어있는 포도주는 모두 마셔야 하고, 마신 후에는 원래 위치에 다시 놓아야 한다.연속으로 놓여 있는 3잔을 모두 마실 수는 없다.효주는 될 수 있는 대로 많은 양의 포도주를 맛보기 위해서 어떤 포도주 잔을 선택해야 할지 고민하고 있다. 1부터 n까지의 번호가 붙어 있는 n개의 포도주 잔이 순서대로 테이블 위에 놓여 있고, 각 포도주 잔에 들어있는 포도주의 양이 주어졌을 때, 효주를 도와 가장 많은 양..
-
백준(BOJ) 10026번 적록색약알고리즘 풀이/백준(Boj) 2019. 7. 16. 00:57
문제 : https://www.acmicpc.net/problem/10026 적록색약이 아닌 사람이 봤을 때 구역의 수는 총 4개이다. (빨강 2, 파랑 1, 초록 1) 하지만, 적록색약인 사람은 구역을 3개 볼 수 있다. (빨강-초록 2, 파랑 1)그림이 입력으로 주어졌을 때, 적록색약인 사람이 봤을 때와 아닌 사람이 봤을 때 구역의 수를 구하는 프로그램을 작성하시오. 나의풀이 : 색약이 아닐 경우 R,G,B 한번씩 DFS를 통하여 답을 구하고 색약일 경우 구역에 G들을 R로 바꾼후 R,B 한번씩 DFS를 통하여 답을 구하여 출력하였다. 코드 ( C ++ ) #include #include #include using namespace std;int N;const int MAX = 101;char sec..
-
백준(BOJ) 1932번 정수 삼각형알고리즘 풀이/백준(Boj) 2019. 7. 15. 23:56
문제 : https://www.acmicpc.net/problem/1932 위 그림은 크기가 5인 정수 삼각형의 한 모습이다.맨 위층 7부터 시작해서 아래에 있는 수 중 하나를 선택하여 아래층으로 내려올 때, 이제까지 선택된 수의 합이 최대가 되는 경로를 구하는 프로그램을 작성하라. 아래층에 있는 수는 현재 층에서 선택된 수의 대각선 왼쪽 또는 대각선 오른쪽에 있는 것 중에서만 선택할 수 있다.삼각형의 크기는 1 이상 500 이하이다. 삼각형을 이루고 있는 각 수는 모두 정수이며, 범위는 0 이상 9999 이하이다. 나의풀이 : 삼각형을 왼쪽으로 다 붙여서 직각삼각형으로 시작하자.y = 0 , x =0 에서 출발하여 바로 아래 ( y= 1, x =0 ) 과 대각선 ( y =1 , x =1 ) 로 나아 갈..
-
노드의 장단점?Web/Node.js 2019. 7. 15. 23:24
노드는 이벤트 기반, 논블로킹 I/O 모델을 사용해 가볍고 효율적이다. 이벤트 기반이란? : 이벤트가 발생할 때 무엇을 할지 미리 등록한다. 논블로킹 I/O 기반이란?: 이전 작업이 완료될 때까지 멈추지 않고 다음 작업을 수행한다. 동기 , 블로킹 // 비동기, 논블로킹 노드는 싱글 스레드 기반. 주어진 작업을 혼자서 처리해야 한다.노드는 스레드를 늘리는 대신 프로세스 자체를 복사해 여러 작업을 동시에 처리하는 멀티 프로세싱 방식을 택함. 자바스크립트 언어 자체 가 싱글 스레드 특성을 띄고 있기 때문이다.( 사실 노드 프로세스도 내부적으로 스레드를 여러개 가지고 있으나 제어할 수 있는 스레드는 하나뿐이므로 흔히 싱글 스레드라 한다. ) 노드 서버는 I/O가 많은 작업에 유리하다. 그 이유는 노드는 ibu..