본문 바로가기
반응형

분류 전체보기202

[백준] JS/ 10798 세로읽기 내 풀이1(오답) const fs = require('fs'); let input = (fs.readFileSync('./dev/stdin') + '').split('\n'); let ans = ''; const wordArr = input.map((i) => i.split('')); const turnCnt = wordArr.length; let allCnt = 0; while (allCnt { if (word[0] !== undefined) ans += word.shift(); else allCnt += 1; }); } console.log(ans); 1. 글자를 위와 같은 이중배열로 생성 2. 이 배열의 길이 => 개수로 두고 3.. 2021. 9. 29.
[백준] JS/ 14561 회문 현실을 받아들여야 한다. 바로 Node.js 로 알고리즘을 연습해야 한다는 사실을! 내 풀이 (정답) const fs = require('fs'); const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n').map((e) => e.split(' ').map(Number));; input.shift(); const nArr = input.map((arr) => { const [num, n] = [arr[0], arr[1]]; return num.toString(n); }); const isPalindrome = (num) => { let lenNum = num.length; let hLenNum = Math.floor(num.leng.. 2021. 9. 27.
[codility] JS Lv4-3 MaxCounter 📌 4-3 MaxCounter 내 풀이 1 (오답) function solution(N, A) { let ans = new Array(N).fill(0); A.forEach((a) => { if (a { let idx = a - 1; if (a 2가지 testcase가 오답이 되었다. 내풀이 3 (100%) function solution(N, A) { let ans = new Array(N).fill(0); let maxNum = 0; let last = 0; A.forEach((a) => { let idx = a - 1; if (a { if(a < last){ ans[idx] = last } }) return ans; } Math.max 하는 부분을 지우기 위해 last 라는 변수를 추가해 A를 돌며.. 2021. 9. 24.
[codility] JS Lv4-2 PermCheck 📌4-2 PermCheck 내 풀이1 (58%) function solution(A) { A.sort(); let Adic = new Array(A.length - 1).fill(0); A.forEach((a) => (Adic[a - 1] = 1)); if (Adic.indexOf(0) a-b) if( A[0]!==1) return 0 for (let i = 0; i 2021. 9. 22.
[codility] JS Lv4-1 ForgRiverOne 📌 4-1 ForgRiverOne 내풀이 1 (72%) 시간초과 function solution(X, A) { ans = -1; let idxArr = new Array(X).fill(0); const isContinue = (arr) => { const idx = arr.findIndex((ele) => ele === 0); if (idx >= 0) return false; else return true; }; for (let i = 0; i { let ans = true for (let i = 0; i < arr.length; i++) { if (arr[i] === 0) { ans = false break } } return ans }; for (let i = 0; i 2021. 9. 18.
[codility] JS Lv3-2 PermMissingElem 📌 3-2 PermMissingElem 내풀이 (시간 초과) function solution(A) { if (A.length === 0) return 1; A.sort(); for (let i = 0; i idxArr[a-1]=1) return idxArr.findIndex((ele)=>ele===0)+1 } 1) 인덱스만큼의 새로운 배열을 만든다. 2) A를 돌며 idxArr의 A idx자리를 1로 .. 2021. 9. 17.
[codility] JS Lv3-3 TapeEquilibrium 📌 STEP 3-3 ) TapeEquilibrium 내 풀이1 ( 46% ) function solution(A) { P = A.length const getSumArr = (arr)=>arr.reduce((prev,curr)=>prev+curr) let ans = 1000 for (let i=1 ; i< P ; i++){ const first = A.slice(0,i) const second = A.slice(i,P+1) diff = Math.abs(getSumArr(first)-getSumArr(second)) ans = Math.min (diff,ans) } return ans } 1) 반복문을 돌며 해당 숫자의 범위까지 slicing한 배열을 구한다 2) 그 값을 diff와 비교해서 min을 구한.. 2021. 9. 17.
[이코다] 그리디-기출문제 P.314 만들 수 없는 금액 내 풀이 n = int(input()) money = list(map(int,input().split())) maxM = max(money) confirm = [0 for i in range(10000)] print(confirm) for i in range(len(money)): for j in range(i+1,len(money)): confirm[i+j] = 1 print(confirm.find(0,1)) confirm이라는 최대값까지의 0으로 찬 배열을 만들고 이중 for문을 돌아 모든 값을 더해서 그 인덱스에1을 넣어준 후에 0 인덱스를 제외한 0이 나온 첫번째 인덱스를 찾으려 했지만 잘못했다. 정답 풀이 n = int(input()) money = list(map.. 2021. 8. 31.
[백준] 파이썬/ 10163 색종이 📌 10163 색종이 내 풀이 n = int(input()) paper = [] for i in range(n): paper.append(list(map(int,input().split()))) place = [[0]*1001 for _ in range(1001)] for i,p in enumerate(paper): cnt=0 [row,col,area,height] = p for r in range(row,row+area): for c in range(col,col+height): place[r][c]=i+1 for i in range(n): cnt=0 for p in place: cnt += p.count(i+1) print(cnt) 단적인 예로 2 0 0 10 10 2 2 6 6 을 입력했을 시 첫번.. 2021. 8. 29.
반응형