일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 정재남
- 파이썬
- 토익 900
- 백준
- 4주 프로젝트
- 렛츠기릿 자바스크립트
- 토익
- 2주 프로젝트
- 코어 자바스크립트
- 타입스크립트 올인원
- 알고리즘
- til
- 타입스크립트
- javascript
- 코드스테이츠
- 리액트
- programmers
- 회고
- LeetCode
- codestates
- 프로그래머스
- HTTP
- 리덕스
- Async
- js
- 손에 익히며 배우는 네트워크 첫걸음
- 자바스크립트
- SQL 고득점 Kit
- 타임어택
- 제로초
- Today
- Total
목록Problem Solving/Algorithm 문제 풀기 (165)
Jerry
a, b = map(int, input().strip().split(' ')) for i in range(1, b + 1): for j in range(1, a + 1): print("*", end="") print() - a는 가로 *의 갯수, b는 세로 *의 갯수다. - 1 ~ b + 1은 *가 i가 b만큼 찍히고 1 ~ a + 1도 j가 a만큼 찍힌다. - 안쪽 for문에서 a만큼 *을 찍어준다. - 바깥 for문의 print() 문은 빈 값을 출력하고 줄바꿈을 해준다. 이 문제에서 알게 된 내용 print는 내장 함수다. print 함수의 기본 속성은 '줄바꿈' 속성이다. print 함수 안에서 end="" 속성은 출력한 문자(열) 끝에 쌍따옴표 안의 내용을 추가해준다. 만약, 위 코드처럼 빈 값..
손익 분기점 //! #1 /* A: 고정 비용, B: 가변 비용 C: 소비자 가격 a + b Number(el)); let [fixedPrice, variablePrice, customerPrice] = input; let bep = 0; let f = fixedPrice; let v = 0; let c = 0; while (1) { console.log(f + v, c); if (f + v 2100000000 || v > 2100000000 || c > 2100000000) { bep = -1; break; } // f = fixedPrice * (bep + 1); v = variablePrice * (bep + 1); c = cust..
1. 아스키코드 let input = require('fs').readFileSync('/dev/stdin').toString(); console.log(input.charCodeAt(0)); 2. 숫자의 합 let input = require('fs').readFileSync('/dev/stdin').toString().split('\n'); let sum = input[1].split('').reduce((acc, cur) => acc + Number(cur), 0); console.log(sum); 3. 알파벳 찾기 let input = require("fs").readFileSync("/dev/stdin").toString(); let arr = []; for (let i = 97; i 1) co..
셀프 넘버 const selfNums = []; const main = () => { for (let i = 1; i
1. 최소, 최대 let input = require('fs').readFileSync('/dev/stdin').toString().split('\n'); let len = Number(input[0]); let resultMinMax = input[1].split(' ').reduce((minMax, num) => { const number = parseInt(num); minMax[0] = minMax[0] > number ? number : minMax[0]; minMax[1] = minMax[1] < number ? number : minMax[1]; return minMax; }, [1000000, -1000000]); console.log(resultMinMax.join(' ')); 2. 최댓..
Psuedo Code /* lcm(least common multiple) arr 요소들의 최소공배수를 구하라 1. gcd(great common dividor) 구한다. - 수가 3개 이상일 때(다항식), gcd 구하는 법을 찾아보자 2. lcm을 구하자 - 수가 3개 이상일 때(다항식), lcm 구하는 법을 찾아보자 */ Submit Code function gcd(a, b) { if (a === 0) return b; return gcd(b % a, a); } function lcm(a, b) { return (a * b) / gcd(a, b); } function solution(arr) { let result = 1; for (let i = 0; i < arr.length; i++) { resu..
Pseudo Code /* loop start 2중 루프 바깥 포문은 skill 기준 내부 포문은 skill_trees 기준 skill 각 요소를 기준으로, 각 skill_trees의 해당 skill 요소 위치를 찾아서 빈 배열에 담는다. loop end loop start 배열을 다시 탐색하여 각 요소의 idx 순서가 오름차순이면 통과(counting) 그렇지 않으면, 미통과 loop end return cnt; 종료 */ Submit Code function solution(skill, skill_trees) { let arr = new Array(skill_trees.length).fill(''); for (let y = 0; y < skill.length; y++) { for (let x = 0;..
Pseudo Code /* 1. n을 3진법으로 변환 - n이 0이 될 때까지, 나누어준다. - 각 나머지를 문자열로 만들어 unshift로 더해준다. 2. 1의 결괏값 뒤집기 - reverse를 이용한다. 3. 2의 결과값, 10진법으로 변환 - 결과값의 마지막 요소부터 첫 번째 요소 순으로 탐색한다. (각 요소는 전 요소의 제곱) - 각 요소의 값 * (3^idx) - sum 변수를 이용해서 각 요소의 값을 누적값을 만든다. 4. 3의 결과값을 반환 */ First Try 테스트 10이 통과가 안 되었다. 찾아보니, 큰 수가 들어올 경우에 sum이 너무 커진 게 문제였다. Because JavaScript's numbers are IEEE-754 double-precision binary floati..