문제 링크 https://www.acmicpc.net/problem/1000 1000번: A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 답안 const fs = require('fs') const inputData = fs.readFileSync('/dev/stdin').toString().split(' ') const a = parseInt(inputData[0]) const b = parseInt(inputData[1]) console.log(a+b) 백준은 문제풀이가 좀 기괴하다. fs 모듈을 불러와서 입력되어있는 데이터를 불러와 문자열화 한다. - fs.readFileSync는 buffer 형식으로 return되기 때문에 toStr..
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/120887 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 답안1 ( 이중 for문 ) function solution(i, j, k) { let answer = 0 let str = "" for (i; i v == k).length } Array() 를 통해 빈 어레이를 만들 수 있다. 만약 i가 8이고 j가 15라는 가정하에 - Array는 8, 9, 10, 11, 12, 13, 14, 15 (8개 엘리먼트)를 담아야 한다. - 이 때 1..
코드 보기 screen div가 position fixed로 인해 모든 화면을 차지하고 있으며, const main으로 설정되어 있다. 따라서 화면의 어느 곳을 클릭하더라도 main.addEventListener('click', () => { }) 이 동작하게 된다. main 화면에 클릭이벤트가 감지되면 콜백함수가 실행되며, 생성자 함수 Circle이 실행된다. 생성자 함수 Circle은 이벤트 객체의 clientX좌표와 clientY좌표를 인수로 받는다. 생성자 함수는 circle 클래스명을 가진 동그란 div를 가지고 main에 append 된다. (즉, main의 자식요소가 된다.) 문제는 동그란 div들도 이벤트리스너를 가지고 생긴다는 점이다. 따라서 click 이벤트는 stopPropagatio..
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/120848 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 답안1 ( 헬퍼 함수 ) function solution(n) { function factorial(num) { if (num = 0; i--) { if (n >= factorial(i)) { return i } } } 팩토리얼을 사용해야하는 문제이니 풀이 내부에 팩토리얼을 구하는 함수를 하나 작성한다. 10이 최대치인 것을 이용한다. for문이 10부터 0까지 순회할때마다 facto..
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/120886 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 답안1 ( 배열과 문자열 ) function solution(before, after) { const A = before.split('').sort().join('') const B = after.split('').sort().join('') return A === B ? 1 : 0 } hlole를 재배열해서 hello를 만들 수 있는지와 같은 질문이다. (이 경우는 만들 수 있다.)..
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/120888 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 답안1 (object 순회) function solution(my_string) { let obj = {} let result = "" for (const char of my_string) { if (obj[char]) { continue } else { result += char obj[char] = 1 } } return result } obj 자료형과 result를 선언한다. 파..
오리엔테이션 일단 해보는 HTML (이두희 선생님) 1일차 환경설정(Visual Studio Code), 코드 스니펫 설정, GitHub 잔디심기 등 2일차 HTML Semantic 작성법 3일차 git, GitHub 이용 실습 4일차 CSS 특강 (이종찬 선생님) 5일차 (9월 5일) HTML의 Semantic한 작성법 객체지향적으로 HTML을 짜야한다. (HTML을 사물(object)로써 바라보는 시각을 길러라) 코드 한줄마다 명확한 의도가 있어야 한다. (필요없는 태그는 과감히 삭제) 6일차 (9월 6일) text level semantic과 embedded contents에 대해 학습했다. text level semantic은 단어 그대로 텍스트 단위의 엘리먼츠를 뜻한다. 그러므로, 넓이(widt..
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/120888 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 답안1 (for문 이용) function solution(my_string) { let str = '' for (let i = 0; i < my_string.length; i++) { if (str.includes(my_string[i]) === false) { str += my_string[i] } } return str } includes메서드로 중복되는 내용을 계속 체킹하면서 중..
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/120891 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 답안1 (메서드체이닝) function solution(order) { return order.toString() .split('') .filter(e => (e === '3') || (e === '6') || (e === '9')).length } 자연수를 파라미터로 받는다. 이걸 문자열로 만들어준뒤 각 요소마다 3, 6, 9인지 비교해서 filter로 배열을 만들어준뒤 length..
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/120834 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 답안 function solution(age) { const alpha = 'abcdefghij'; const arr = age.toString().split(''); return arr.map(e => alpha[e]).join(''); } 나이를 알파벳으로 바꿔주는 것이다. 0은 a고, 1은 b... 이런식으로 진행이 되니까 문자열도 각 엘리멘트로 접근할 수 있다는 것을 활용하면 ..