JavaScript 99

[Javascript][IE] Internet Explorer getElementsByName, querySelectorAll ForEach 지원하지 않는 문제: Array.from 사용

document.querySelectorAll document.getElementsByName 으로 개체를 가져오면 크롬이나 다른 웹브라우저에서는 NodeList 의 forEach를 지원해주는데 Internet Explorer 는 지원해주지 않아서 안된다. 찾아보면 ie9 이상이면 된다고 하지만 나는 ie11을 사용하는데도 안됨^^ https://stackoverflow.com/questions/46929157/foreach-on-queryselectorall-not-working-in-recent-microsoft-browsers forEach on querySelectorAll not working in recent Microsoft browsers I am making a script for cho..

Issue 2022.04.14

[프로그래머스] 가장 큰 수

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges ** Javascript function solution(numbers) { var answer = numbers.map((number) => `${number}`).sort((a,b) => (b+a) - (a+b)).join(''); return answer.startsWith('0') ? '0' : answer; } **Python import functools def solution(numbers): if not sum(numbers): return "0" numbers = list(map(str, numbers)) numbers.sort(key = functools.cmp_to_ke..

[프로그래머스] 이진 변환 반복

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges ** Javascript 예전에 미리 풀었어서 몇 점 받았는지 기억이 안 남 function solution(s) { let count = 0; let zeros = 0; while (s !== "1") { zeros += (s.match(/0/g) || []).length; s = s.replace(/0/g, "").length.toString(2); count++; } return [count, zeros]; } ** Python def solution(s): c = 1 answer = [0, 0] while s != "1": zeros = [x for x in s if x == "0"..

[프로그래머스] 다음 큰 숫자

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges ** Python def solution(n): answer = n while(True): answer += 1 if str(bin(answer)).count("1") == str(bin(n)).count("1"): break return answer * bin은 2진수로 바꿔주는 함수다. ** Javascript function solution(n) { let answer = n while (true) { answer++ if ((answer.toString(2).match(/1/g) || []).length === (n.toString(2).match(/1/g) || []).length..

[프로그래머스] 올바른 괄호

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges 자바스크립트로 먼저 풀던 내가 이젠 파이썬으로 먼저 푼다 파이썬이 훨씬 간편함 ** Python (+5) def solution(s): r = "".join(s.split("()")) return r == "" or (r.count("(") == r.count(")") and r[0] == "(" and r[-1] == ")") 정규식 안 쓰고 풀기 성공! (아래 자바스크립트 취향 저격 코드를 파이썬으로도 풀었는데 위의 식이 속도가 더 빨랐다.) def solution(s): pair = 0 for c in s: pair += 1 if c == "(" else -1 if pair < 0: ..

[프로그래머스] 행렬의 곱셈

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges ** Javascript function solution(arr1, arr2) { let answer = [] for (let i = 0; i < arr1.length; i++) { let arr = []; for (let j = 0; j < arr2[0].length; j++) { let sum = 0 for (let k = 0; k < arr2.length; k++) { sum += arr1[i][k] * arr2[k][j]; } arr.push(sum); } answer.push(arr); } return answer; } ** Python (+3) def solution(arr1, ..

[프로그래머스] 신규 아이디 추천

출처: https://programmers.co.kr/learn/courses/30/lessons/72410 풀이가 굉장히 마음에 안들지만 ** Javascript function solution(new_id) { let allowed = "abcdefghijklmnopqrstuvwxyz-_.".split(""); let charArr = new_id.toLowerCase().split(""); let answer = charArr .filter(char => allowed.includes(char) || (!isNaN(char) && !isNaN(parseFloat(char)))) .join(""); while (answer.match(/\.\./)) { answer = answer.replace(/\..

반응형