본문 바로가기

알고리즘/백준

(13)
백준 별 찍기 - 8 - 2445 let input = Number(require('fs').readFileSync('/dev/stdin').toString()) function a(i){ console.log("*".repeat(i)+" ".repeat(input*2-i*2)+ "*".repeat(i)) } for(let i=1; i=1; i--){ a(i) } 별이 양쪽에 대칭으로 있다. 별이 하나씩 증가하다가 5개가 됐을때 하나씩 내려간다. for문 하나는 하나씩 증가하는 for문 하나는 하나씩 감소하는 반복문 양쪽 별은 i번 만큼 repeat으로 찍어주고 중앙에 공백은 input*2-i*2를 해주면 (양쪽에 찍은 별빼기 반복해야하는 횟수?) 공백숫자 나온다
별 찍기 - 5 - 2442 https://www.acmicpc.net/problem/2442 2442번: 별 찍기 - 5 첫째 줄에는 별 1개, 둘째 줄에는 별 3개, ..., N번째 줄에는 별 2×N-1개를 찍는 문제 별은 가운데를 기준으로 대칭이어야 한다. www.acmicpc.net 문자열.repeat(갯수) 문자열을 갯수 만큼 반복한다. let input = Number(require('fs').readFileSync('/dev/stdin').toString()) let cnt=1 for(let i=1; i=1; j--){ if(i!==j) a+=" " else { a+="*".repeat(cnt) cnt+=2 break } } console.log(a) } 정답을 보면 앞에는 공백 뒤에는 별이 찍힌다. 공백같은경우는 하나..
별 찍기 - 3 - 2440 let input = Number(require('fs').readFileSync('/dev/stdin').toString()) for(let i=input; i>=1; i--){ let a= "" for(let j=1; j=j) a+="*" else break } console.log(a) } i가 j보다 크거나 같으면 “별”을 찍는다 i=5 j=1 i≥j 5≥1 “별” j=2 5≥2 “별” j=3 5≥3 “별” j=4 5≥4 “별” j=5 5≥5 “별” answer = 별별별별별 i=3 j=1 j=2 j=3 여기까지는 별을 찍는다. i가 j보다 크거나 같기 때문에. 3≥3 j=4 j는 for문을 돌때마다 1씩 커지기 때문에 여기 부터는 모조건 j가 크다. 그래서 더 이상 진행 할 필요가 없어서 bre..
별 찍기 - 2 - 2439 let input = Number(require('fs').readFileSync('/dev/stdin').toString()) for(let i=1; i=1; j--){ if(i>=j) a+="*" else a+=" " } console.log(a) } i=1 일때 j랑 비교해서 i보다 작거나 같은면 “*” 아니면 “공백” j=5 i가 1이라서 5보닥 작기떄문에 “공백” j=4 “공백” j=3 “공백” j=2 “공백” j=1 i가 1이라서 j랑 같기 때문에 “*” 이걸 a에 더하면 a = “공백 공백 공백 공백 별” i=2 j=5 “공백” i가 j보다 크거나 같지 않기 때문에 j=4 “공백” j=3 “공백” j=2 같으닌깐 “별” j=1 i가 더 크닌깐 “별” a = “공백 공백 공백 공백 별” 에다가..
별 찍기 - 1 - 2438 https://www.acmicpc.net/problem/2438 2438번: 별 찍기 - 1 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 www.acmicpc.net let input = Number(require('fs').readFileSync('/dev/stdin').toString()) let answer = '' for(let i=1; i
백준 최소, 최대 - 10818 sort 사용해서 최대 최소 구하기 let input = require('fs').readFileSync('/dev/stdin').toString().split("\\n") let n = Number(input[0]) let arr = input[1].split(' ').map((x)=>Number(x)) let sort = arr.sort((a,b)=>{ return a-b }) console.log(`${sort[0]} ${sort[n-1]}`) let arr = input[1].split(' ').map((x)=>Number(x)) [20, 10, 35, 30, 7] let sort = arr.sort((a,b)=>{ return a-b }) [7, 10, 20, 30, 35] sort를 사용하면 ..
백준 합 - 8393 let input = Number(require('fs').readFileSync('/dev/stdin').toString()) let sum = 0 for(let i=1; i
백준 기찍 N - 2742 let input = Number(require('fs').readFileSync('/dev/stdin').toString()) let a = '' for(let i=input; i>=1; i--){ a+=i+"\\n" } console.log(a.trim())