목록백준 풀이 🍪 (18)
섭스토리

백준 1181번 실버 5 https://www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 신경써야 할 것은 1. 길이가 짧은 것 부터 오름차순 정렬! 2. 중복되는 단어 제거 3. 만약 길이가 같으면 사전 순으로! const [n, ...words] = require("fs").readFileSync("/dev/stdin").toString().trim().split("\n"); Array.from(new Set(words)) .sort((a, b)..

백준 1037번 브론즈 1 https://www.acmicpc.net/problem/1037 1037번: 약수 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되 www.acmicpc.net let fs = require('fs'); let input = fs.readFileSync('/dev/stdin').toString().split('\n'); let num = input[0]; let res = input[1].split(" "); res.sort(function (a, b) { return a - b; }); console.log(res[0]..

백준 1152번 브론즈 2 https://www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열 www.acmicpc.net let input = prompt().trim().split(" "); console.log(input.length); 원래 제가 짰던 코드입니다. trim()를 사용하여 문자열 양쪽 공백을 제거했습니다. trimFront() 메서드는 문자열 맨 앞쪽의 공백을 제거해주고, trimEnd()는 문자열 맨 뒤의 공백을 제거해줍니다. 당연히 맞을 줄 알고 돌려봤는데 결과..

백준 1076번 브론즈 2 https://www.acmicpc.net/problem/1076 1076번: 저항 첫째 줄에 첫 번째 색, 둘째 줄에 두 번째 색, 셋째 줄에 세 번째 색이 주어진다. 위의 표에 있는 색만 입력으로 주어진다. www.acmicpc.net let fs = require('fs'); let [c1, c2, c3] = fs.readFileSync('/dev/stdin').toString().split('\n'); let color = ["black", "brown", "red", "orange", "yellow", "green", "blue", "violet", "grey", "white"]; let num = color.indexOf(c3); let res = (String(co..

백준 1075번 브론즈 2 https://www.acmicpc.net/problem/1075 1075번: 나누기 첫째 줄에 N, 둘째 줄에 F가 주어진다. N은 100보다 크거나 같고, 2,000,000,000보다 작거나 같은 자연수이다. F는 100보다 작거나 같은 자연수이다. www.acmicpc.net 처음 브론즈 2 문제를 풀어보았는데 브론즈 3이랑 큰 난이도 차이는 없는 것 같네요! 우선 제가 작성한 코드입니다. let fs = require('fs'); let input = fs.readFileSync('/dev/stdin').toString().split('\n'); const N = input[0]; const F = input[1]; let array = N.split(""); // 맨 ..

백준 2010번 브론즈 3 https://www.acmicpc.net/problem/2010 2010번: 플러그 첫째 줄에 멀티탭의 개수 N이 주어진다. (1 ≤ N ≤ 500,000) 이어서 둘째 줄부터 N개의 줄에 걸쳐 각 멀티탭이 몇 개의 플러그를 꽂을 수 있도록 되어 있는지를 나타내는 자연수가 주어진다. 이 자연 www.acmicpc.net 규칙만 알면 간단했던 문제입니다. 플러그 N개는 꽂는 방식에 상관없이 N개의 플러그 각각에 꽂을 수 있는 n1, n2 값을 다 더하고, N 을 빼주고 1을 더해주면 연결 가능한 컴퓨터의 개수가 나옵니다. (예를 들어, 각각 6개, 2개, 5개 씩 꽂을 수 있는 플러그 3개는 --> 6 + 2 + 5 - 3 +1 = 11개의 컴퓨터 연결 가능) 특별한 건 없었구..

백준 1703번 브론즈 3 https://www.acmicpc.net/problem/1703 1703번: 생장점 branchorama 나무는 특이한 규칙을 가지고 성장합니다. 어린 branchorama 초목은 하나의 잎을 꼭대기에 가진 가는 묘목이며, 그 잎에는 생장점이 있습니다. 성장하는 계절 동안 나무의 생장점들은 여 www.acmicpc.net 처음으로 한 번에 맞은 문제입니다. 풀고 나서 날강두 세레모니 했습니다. 인생을 행복하게 살려고 노력중입니다. 다른 분이 짠 코드를 구경해보았는데, map함수, 이차원 배열을 사용한 것이 흥미로워서 가져와 보았습니다. 입력값 ( 1 3 0 \n 2 3 0 2 0 \n 3 3 0 2 1 2 1 \n 0 ) 기준 arr 배열을 할당하고 slice를 사용하여 in..

백준 1284번 (브론즈 3) https://www.acmicpc.net/problem/1284 제가 짠 코드인데... 코드가 복잡하고 지저분한 걸 떠나서 arr 배열이 중복적으로 사용되는 오류가 생기더라구요😢 30분 정도 붙잡고 있다가 더 이상은 비효율적이라고 판단, 다른 분이 짜신 코드를 좀 구경해 보았습니다. for of 반복문을 사용하셨네요. 여러 줄로 입력받은 input을 줄 단위로 나누어서 str이라는 변수로 할당, 만약 str의 값이 0이면 종료 (break;) 그리고 각각의 str을 쪼개어 spl이라는 배열 생성 res 변수 설정 1 + str.length --> 고정 값 ( 예를 들어 1,2,0 이면 양 끝의 한자리, 숫자들 사이 한자리 씩 = 총 4) spl 배열의 각 요소들을 반복해서..