본문 바로가기

백준

(229)
[JS] 백준 약수, 배수와 소수 - 5086번 이제는 빠르게 넘어갈 건 넘어가면서 풀려고 한다. 다음 단계인 약수, 배수와 소수부터 시작하겠다. 문제 5086번 https://www.acmicpc.net/problem/5086 5086번: 배수와 약수 각 테스트 케이스마다 첫 번째 숫자가 두 번째 숫자의 약수라면 factor를, 배수라면 multiple을, 둘 다 아니라면 neither를 출력한다. www.acmicpc.net 음... 일단 0이 2개 주어질 때까지 반복문을 돌려주고 약수인지, 배수인지 아니면 둘 다 아닌지 조건문을 이용하여 확인하면 될 것 같다. const readFileSyncAdress = process.platform === 'linux' ? '/dev/stdin':'./input.txt' const input = requir..
[JS] 백준 일반 수학 1 - 다섯 번째 이야기 오늘은 자취방을 뺐다. 너무 힘들어... 문제 2292번 https://www.acmicpc.net/problem/2292 2292번: 벌집 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌 www.acmicpc.net 이 문제는 범위가 증가할 때마다 둘러싼 방이 각 6의 배수로 증가하고 있다. 그래서 sum이 input보다 작을 때까지 6의 배수를 sum에 더해줬다. 그리고 몇 번째로 더해줬는지 num을 출력해주면 된다. const readFileSyncAdress = process.platform === 'linux' ? '/dev/stdin':'./input...
[JS] 백준 일반 수학 1 - 네 번째 이야기 문제 2903번 https://www.acmicpc.net/problem/2903 2903번: 중앙 이동 알고리즘 상근이는 친구들과 함께 SF영화를 찍으려고 한다. 이 영화는 외계 지형이 필요하다. 실제로 우주선을 타고 외계 행성에 가서 촬영을 할 수 없기 때문에, 컴퓨터 그래픽으로 CG처리를 하려고 한다. www.acmicpc.net 문제를 보니까 2**input+1을 하면 한줄의 점 개수가 나온다. 그리고 그 점의 개수에 제곱을 해주면 점의 수를 구할 수 있다. const readFileSyncAdress = process.platform === 'linux' ? '/dev/stdin':'./input.txt' const input = require("fs").readFileSync(readFileS..
[JS] 백준 일반 수학 1 - 세 번째 이야기 문제 2720번 https://www.acmicpc.net/problem/2720 2720번: 세탁소 사장 동혁 각 테스트케이스에 대해 필요한 쿼터의 개수, 다임의 개수, 니켈의 개수, 페니의 개수를 공백으로 구분하여 출력한다. www.acmicpc.net 문제를 읽는데... '어쩔수 없이 뛰어난 코딩 실력을 발휘해 리암을 도와주는 프로그램을 작성하려고 하지만, 디아블로를 하느라 코딩할 시간이 없어서 이 문제를 읽고 있는 여러분이 대신 해주어야 한다.' -> ??? ... 일단 해보자... 보니까 그리디 알고리즘을 이용하는 것 같다. 어떤 식으로 할까 하다가 다른 분의 풀이를 보니까 이런 식으로 작성해야겠다는 생각이 들어서 해봤다. const readFileSyncAdress = process.platf..
[JS] 백준 일반 수학 1 - 두 번째 이야기 문제 11005번 https://www.acmicpc.net/problem/11005 11005번: 진법 변환 2 10진법 수 N이 주어진다. 이 수를 B진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 www.acmicpc.net 이 문제는 어제와는 반대로 10진수를 해당 진법으로 변환하는 문제이다. 그래서 찾아보니 toString에 숫자를 넣으면 그 숫자에 해당하는 진법으로 10진수를 바꿔준다고 한다. const readFileSyncAdress = process.platform === 'linux' ? '/dev/stdin':'./input.txt' const [N,B] = require("fs"..
[JS] 백준 일반 수학 1 - 첫 번째 이야기 이제 드디어 일반 수학 1 단계 차례이다. 얼마 안 남았어... 문제 https://www.acmicpc.net/step/8 일반 수학 1 단계 벌집이 형성되는 규칙에 따라 벌집의 위치를 구하는 문제 www.acmicpc.net 문제 2745번 https://www.acmicpc.net/problem/2745 2745번: 진법 변환 B진법 수 N이 주어진다. 이 수를 10진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 www.acmicpc.net 처음에 이 문제를 보고 무슨 소리인가 했는데, 간단히 말하자면 특정 진법을 10진법으로 바꾸라는 문제였다. 뒤에 나오는 숫자는 진법을 나타내고 앞에 나오는 ..
[JS] 백준 2차원 배열 - 마지막 이야기 오늘은 2차원 배열 단계 마지막 시간이다. 문제 2563번 https://www.acmicpc.net/problem/2563 2563번: 색종이 가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록 www.acmicpc.net 문제를 보고 어떻게 겹치는 부분을 빼주지하고 고민하다가 풀이를 찾아보았다. 찾아보니 빼는 것이 아닌 2차원 배열을 만들어 채워나가는 것이 좋다고 한다. 먼저 배열을 만들어 0으로 채우고, 세로와 가로의 각 크기가 10이라고 했으니 이중 for문으로 10씩 반복해준다. 그리고 해당 위치의 요소가 0이라면 아직 채워지지 않았다는 뜻이니까 1로 만..
[JS] 백준 2차원 배열 - 두 번째 이야기 문제 10798번 https://www.acmicpc.net/problem/10798 10798번: 세로읽기 총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’ www.acmicpc.net 이번에는 문자열을 세로로 읽어서 한줄로 출력해주는 문제이다. 음... 줄마다 끊어준 후 이중 반복문을 통해 한줄로 만들어주면 될 것 같다. 가로로 읽기 위해 행의 개수로 for문을 만들고 그 안에 열의 개수로 for문을 만들어줬다면 세로는 반대로 해주면 된다. 그런데... 열의 개수는 다른데 어쩌지하고 고민하고 있는데, 다른 분의 풀이를 보니 조건문으로 처리하신 분도 있고..