일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 드림코딩
- border radius
- 크롬웹
- 생활코딩 WEB2-JavaScript
- nav태그
- box-sizing: border-box
- 백준
- margin 0 auto
- 생활코딩
- 할만한데?
- error: ENOENT: no such file or directory
- 나도코딩 파이썬
- git 버전관리
- HTML
- html 끝
- 노마드 코더
- button:focus cursor: pointer; outline: none;
- 라매개발자
- calc()
- 나도코딩
- git
- max-width
- li 태그
- 백준 자바스크립트
- 코딩테스트
- 백준 정리
- WEB2-JavaScript
- :root
- 단계별로 풀어보기
- Pull
- Today
- Total
코딩응애의 개발블로그
코딩 테스트 대비 4주 챌린지 JS(11720, 11721, 2741, 2742, 2739, 1924, 8393, 10818) 본문
코딩 테스트 대비 4주 챌린지 JS(11720, 11721, 2741, 2742, 2739, 1924, 8393, 10818)
이너멜 2022. 5. 15. 23:44백준 11720
const fs = require('fs');
const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt';
let input = fs.readFileSync(__dirname + '/input.txt').toString().trim().split('\n');
solution(input[0], input[1]);
function solution(N, testcase) {
let sum = 0;
for (let i = 0; i < N; i++) {
sum = sum + Number(testcase[i]);
}
console.log(sum)
}
for문은 문제없이 한번에 구현했는데 입력을 직접 구현하는 과정에서 계속 틀려서 10분내에 못풀었다.
앞에서 계속 배열로 선언받는 형식으로 입력을 구현하다보니 거기에 틀에 맞춰져서 그 방식으로 할려다가 계속 오류가 난것 같다. 감 찾으려면 시간이 오래걸릴듯 하다.
생각해보니 공백없이 주어진다는 조건을 보니 왜 배열로 입력을 받으려고 했나 생각이 든다 쩝..
백준 11721
const fs = require('fs');
const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt';
let input = fs.readFileSync(__dirname + '/input.txt').toString().trim().split('\n');
solution(input[0]);
function solution(N) {
let result = '';
for (let i = 0; i < N.length; i++) {
result = result + N[i];
if (result.length === 10) {
console.log(result);
result = '';
}
}
console.log(result)
}
거의 근접 했는데 틀렸다.. 저 if문 까지는 잘 구현을 했지만 if문 마지막에 코드 한줄
result = '';
이 코드를 생각을 못해서 틀림 처음에는 10개마다 끊어야 된다고 해서 빈 변수 result 선언하고 length 이용해서 길이가 10이 되면 출력을 하는것 까지는 생각을 했지만 그 뒤에 문장들은 어떻게 해야 할까 생각을 못했다.
단순히 result를 다시 초기화 시켜주면 되는것이었다. 초기화 한뒤 길이가 10이 안되면 if문을 빠져나와서 나머지 for문을 돌고 for문 밖에 console.log로 나머지 값들을 출력하면 끝이었음.
백준 2741
시간초과 나는 문제. 예전에 블로그에도 따로 정리를 했었는데 다시 풀었을때 못풀었다. 똑같이 시간초과 나서
결국 구글링 함 하.. 따로 정리는 안할거임 2741 검색하면 정리한거 나옴
백준 1924
const fs = require('fs');
const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt';
let input = fs.readFileSync(__dirname + '/input.txt').toString().trim().split('\n');
input = input[0].split(' ').map(value => +value)
solution(input[0], input[1]);
function solution(x, y) {
const week = ['SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT'];
const months = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
let result = 0;
for (let i = 1; i < x; i++) {
result += months[i - 1];
}
result += y;
console.log(week[result % 7])
}
일단 입력 어떻게 받는지 제발좀 헷갈리지 말자
어떻게 해야할지 감도 안온 문제
일단 요일과 요일별 날짜 변수들을 선언을 해주고 전반적인 코드들을 요약하자면
2007년 1월 1일부터 ~ 2007년 x월 y일 까지의 일 수를 더한 값을 7로 나눠서 나머지가 무엇인가에 따라 값이 달라진다.
우선 1월 1일부터 더하는거니까 1월 y일 값들은 따로 더하는게 없고 요일만 더해주고 7로 나누어 준다.
2월부터가 한달 일수를 더해줘야 하는데 1월이 31일까지 있으니 일단 31일은 있다고 생각하고 계산하는거다.
예를 들어서 2월 4일 날짜를 구해야 한다면 31일 + 4를 하고 7로 나눈 나머지를 구해야 한다.
이때 나머지가 0이니까 SUN이된다.
근데 왜 나머지가 0인게 SUN이냐 할수 있는데 1월1일이 월요일이라는 조건에서 볼수 있듯이
1일을 7로 나누면 나머지가 1이니까 월요일이고 그다음으로 화요일은 2일인데 7로 나누면 나머지 2라서
나머지가 2인건 화요일인것이고 쭉쭉 가서 7일인 일요일을 7로 나누면 나머지가 0이므로 나머지가 0인건
일요일이 라는 사실이 자연스레 되는것임.
브로즌 1 문제도 못풀다니...
백준 10818
const fs = require('fs');
const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt';
let input = fs.readFileSync(__dirname + '/input.txt').toString().trim().split('\n');
const testcase = input[1].split(' ').map(value => +value)
solution(+input[0], testcase);
function solution(N, testcase) {
let max = testcase[0];
let min = testcase[0];
for(let i=1; i<N; i++) {
if(max < testcase[i]) {
max = testcase[i];
}
if(min > testcase[i]) {
min = testcase[i];
}
}
console.log(`${min} ${max}`)
}
입력 받는 부분부터 헤매가지고 개빡침 나 자신한테 너무 빡침 너무 틀에 박혀있음 문제를 풀때
최대,최소 구하는건 중요해서 기본적인 로직은 언제든지 쓸수 있어야 함
if문 이용해서 max라고 따로 선언해둔 변수보다 크다면 그 값이 max가 되는거고 반대로 min이라고 따로 선언해둔 변수보다 작다면 그 값이 min이 되는것이다.
회고
틀에 박혀서 문제에 접근하지 말자 입력 받는 부분 코드좀 잘좀 생각해서 쓰자
그리고 문제좀 풀자 제발 이번에도 실패하면 끝이야 더는 가망이 없다
진행률 19/155 대략 12%
※ 내가 풀면서 못 풀었거나 헷갈려다거나 틀렸다거나 아니면 입출력 문제에서만 해당되는 사항이지만 10분 안에 못 풀었다거나 하는 문제들만 정리한 거임
'알고리즘 문제' 카테고리의 다른 글
코딩 테스트 대비 4주 챌린지 JS (1463, 11726, 11727, 9095) (0) | 2022.05.19 |
---|---|
코딩 테스트 대비 4주 챌린지 JS(2438, 2439, 2440, 2441, 2442, 2445, 2522, 2446, 10991, 10992) (0) | 2022.05.17 |
코딩 테스트 대비 4주 챌린지 JS. 백준 '출력 형식이 잘못되었습니다' (10953, 11021, 11022, 11718, 11719) (0) | 2022.05.13 |
코딩 테스트 대비 4주 챌린지 JS (백준 2557, 1000, 2558, 10950, 10951, 10952) (0) | 2022.05.10 |
[JS] 백준 2775번 (0) | 2022.03.15 |