본문 바로가기

백준/JavaScript

(62)
[JS] 백준 24265번 - 알고리즘의 수행 시간 4 문제 24265번 https://www.acmicpc.net/problem/24265 24265번: 알고리즘 수업 - 알고리즘의 수행 시간 4 오늘도 서준이는 알고리즘의 수행시간 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 입력의 크기 n이 주어지면 MenOfPassion 알고리즘 수행 시 www.acmicpc.net 이번 MenOfPassion은 이중 반복문을 사용하는데 for문이 각각 1 ~ n-1, i+1 ~ n 범위에서 수행한다. 음... 어떻게 수행 횟수를 구하지 하다가 다른 분의 설명을 보니까 확실하게 이해갔다. 만약 n을 7이라고 가정하자. 그러면 i는 1에서부터 6까지 반복하고, i를 수행할 때마다 j는 i+1부터 7까지 반복하게 되는 것..
[JS] 백준 - 알고리즘 수행 시간 3 문제 24264번 https://www.acmicpc.net/problem/24264 24264번: 알고리즘 수업 - 알고리즘의 수행 시간 3 오늘도 서준이는 알고리즘의 수행시간 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 입력의 크기 n이 주어지면 MenOfPassion 알고리즘 수행 시 www.acmicpc.net 이번 MenOfPassion은 이중 반복문이 있는 알고리즘이다. 그래서 수행 횟수는 입력받은 input의 제곱이고, for문이 2개이므로 최고차항의 차수는 2이다. const readFileSyncAdress = process.platform === 'linux' ? '/dev/stdin':'./input.txt' const input =..
[JS] 백준 24263번 - 알고리즘의 수행 시간 2 문제 24263번 https://www.acmicpc.net/problem/24263 24263번: 알고리즘 수업 - 알고리즘의 수행 시간 2 오늘도 서준이는 알고리즘의 수행시간 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 입력의 크기 n이 주어지면 MenOfPassion 알고리즘 수행 시 www.acmicpc.net 이번 MenOfPassion은 i부터 n까지 반복하여 A 배열에 i인덱스를 넣었을 때 나오는 값을 sum에 계속 더해주는 알고리즘이다. 여기서 수행 횟수는 입력의 크기인 n이고, 최고차항의 차수는 for문이 1개이기 때문에 1이된다. const readFileSyncAdress = process.platform === 'linux' ? '..
[JS] 백준 24262번 - 알고리즘의 수행 시간 1 문제 24262번 https://www.acmicpc.net/problem/24262 24262번: 알고리즘 수업 - 알고리즘의 수행 시간 1 오늘도 서준이는 알고리즘의 수행시간 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 입력의 크기 n이 주어지면 MenOfPassion 알고리즘 수행 시 www.acmicpc.net 시간 복잡도란 연산을 실행할 때 입력값의 변화에 따라 시간이 연산 횟수에 비해 얼마나 걸리는지, 즉 알고리즘의 성능을 설명해주는 것이다. 코드를 보니 MenOfPassion함수는 인덱스를 절반으로 만들어서 해당 인덱스을 넣은 배열을 반환하는 알고리즘이다. 입력값이 달라져도 반복되지는 않을 것이다. 반복문이 없으니 무조건 1번 실행되며 상수..
[JS] 백준 1193번 - 분수찾기 문제 1193번 https://www.acmicpc.net/problem/1193 1193번: 분수찾기 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. www.acmicpc.net 오늘 문제를 보니까 이해가 안 돼서 다른 분의 풀이를 보며 공부하였다. const readFileSyncAdress = process.platform === 'linux' ? '/dev/stdin':'./input.txt' const input = require("fs").readFileSync(readFileSyncAdress).toString().trim(); let num=Number(input); let count=1; while(true){ num-=count; if(num
[JS] 백준 2869번 - 달팽이는 올라가고 싶다 문제 2869번 https://www.acmicpc.net/problem/2869 2869번: 달팽이는 올라가고 싶다 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) www.acmicpc.net 달팽이가 낮에 A미터 올라갈 수 있지만 밤에는 B미터 미끄러진다. 그리고 정상에 올라간 후에는 미끄러지지 않는다. 이때 높이가 V미터인 나무 막대를 모두 올라가려면 며칠이 걸리는지 구해야하는 문제이다. 식을 써보면, ( A - B ) * 며칠 + B = V A미터 올라가고 B미터 내려간 거리에 며칠이 걸렸는지 곱해주면 총 거리인 V가 나올거라고 생각할 수 있지만, 여기서 정상에 올라간 후에는 미끄러지지 않는다고 했으니 마지막에 정상에 올라..
[JS] 백준 3009번 - 네 번째 점 너무 졸려서 자버렸다... 얼른 해야지... 오늘은 자바스크립트를 할 것이다. 문제 3009번 https://www.acmicpc.net/problem/3009 3009번: 네 번째 점 세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오. www.acmicpc.net 문제를 보니 3점의 각 x,y에서 2개가 같으면 나머지 1개의 점이 네 번째 점의 좌표가 될 것이다. 그러므로 정렬을 해준 후 비교해 첫 번째와 두 번째가 같으면 마지막 숫자를 아니면 첫 번째 숫자를 출력해주면 된다. const readFileSyncAdress = process.platform === 'linux' ? '/dev/stdin':'./input.txt' const inp..
[JS] 백준 기하 - 1085번 문제 1085번 https://www.acmicpc.net/problem/1085 1085번: 직사각형에서 탈출 한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램 www.acmicpc.net 처음에는 무슨 소리인가 했는데 이런 뜻이였다. 이런 식으로 있는데 (x,y)에서 직사각형의 경계선싸지 가는 거리의 최솟값을 구하는 것이다. 그런데 최소거리는 (x,y)에서 직사각형의 각변에 수직으로 내렸을 때의 거리 중에 있다. 그래서 x,y,w-x,h-y 중에 가장 최소인 것을 고르면 될 것 같다. const readFileSyncAdress = process..