본문 바로가기

전체 글

(202)
[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문을 만들어줬다면 세로는 반대로 해주면 된다. 그런데... 열의 개수는 다른데 어쩌지하고 고민하고 있는데, 다른 분의 풀이를 보니 조건문으로 처리하신 분도 있고..
[JS] 백준 2차원 배열 - 첫 번째 이야기 2차원 배열 단계의 첫 번째 시간이다. 좋아~~ 힘차게 고! 문제 https://www.acmicpc.net/step/2 2차원 배열 단계 2차원 배열을 활용하여 색종이로 평면을 덮는 문제 www.acmicpc.net 문제 2738번 https://www.acmicpc.net/problem/2738 2738번: 행렬 덧셈 첫째 줄에 행렬의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 차례대로 주어진다. 이어서 N개의 줄에 행렬 B의 원소 M개가 차례대로 주어진다. N과 M은 100보다 작거나 같 www.acmicpc.net 음... 배열을 만들어서 입력된 행렬들의 값을 더해서 배열에 위치에 맞게 넣어주면 될 것 같은데... 어떻게 작성해야 할지 좀 헷갈렸다. 찾아보니 잘 ..
[JS] 백준 심화 1 - 마지막 이야기 드디어 심화 1 단계의 마지막이다!! 문제 1316번 https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 이 문제를 보고, 글자 하나하나 비교해줘야하나 고민하다가 다른 분의 풀이를 봤다. 그런데 풀이를 봐도 이해가 안 되는 부분이 있어서 한참 보는데, 차례대로 생각해보니까 드디어 이해가 갔다. 이해한 내용을 토대로 내가 따로 작성해봤다. const readFileSyncAdress = process.platform ..
[JS] 백준 심화 1 - 세 번째 이야기 졸리다... 더 졸려지기 전에 오늘 문제를 다 풀어버려야겠다. 문제 1157번 https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 음.... 이건 다른 풀이를 참고하여 풀어야 할 것 같다. const readFileSyncAdress = process.platform === 'linux' ? '/dev/stdin':'./input.txt' const input = require('fs').readFileSync(readFileSyncAdress).toString().trim(); ..