개발공부/알고리즘(17)
-
[JS] 홀수구하기, 1의자리 숫자가 일치하는 값 찾기
1. 홀수구하기 배열의 요소를 for문 돌릴땐 let x of arr로 나타낼수도있다. 아래는 강사님 코드 그리고 강사님은 answer을 빈 배열로 처음부터 만들어 sum과 min을 push해주었다. function solution(arr){ let answer = []; let sum = 0, min = Number.MAX_SAFE_INTEGER; for (let x of arr){ if (x % 2 == 1) { sum += x; if(x < min) min = x; } } answer.push(sum); answer.push(min); return answer; }; let arr =[12, 77, 38, 41, 53, 92, 85]; console.log(solution(arr)); 2. 10부제..
2021.07.01 -
[JS] 최솟값구하기
개의 수가 주어지면 그 숫자 중 가장 작은 수를 출력하는 프로그램을 작성하세요. // 강사님 코드 // 내가 다시 짠 코드 내장함수로 구하는 훨씬 간단한 방법! Math.min함수엔 숫자만 들어가기때문에 배열은 스프레드문법을 사용해 넣어준다. // 내장함수로 구하기 function solution(arr){ let answer=Math.min(...arr); return answer; }
2021.06.30 -
[JS] 삼각형 판별, 연필 개수
길이가 서로 다른 A, B, C 세 개의 막대 길이가 주어지면 이 세 막대로 삼각형을 만들 수 있 으면 “YES"를 출력하고, 만들 수 없으면 ”NO"를 출력한다. 삼각형 판별하기 삼각형이 만들어지려면 max값이 나머지 두변의 길이의합보다 작아야한다.(같아도 안됨) 처음엔 바보처럼 풀었다😨 단순하게 풀었을뿐더러 그냥 아주 틀린 코드다🤔 sum변수를 만들어줬어야했다. function solution(a, b, c) { let answer, max; if (a > b) max = a; else max = b; if (c > max) max = c; let sum = (a + b + c); if ((sum - max) > max) answer = "YES"; else answer = "NO"; return a..
2021.06.29 -
[JS] CodeSignal 기초 문제(aka. the journey begins)
기초문제는 자바스크립트 기본 문법을 공부하는데 좋을 것 같아 풀어보았다. 첫번째 문제 두 입력값의 합을 구하는 문제이다. function add(param1, param2) { return param1+param2 } 두번째 문제 년도(year)를 입력하면 세기(century)를 반환하는 문제 1세기는 100년 즉, 첫번째 세기가 1년부터 100년이라면, 두번째 세기는 101년부터 200년 function centuryFromYear(year){ if ((year%100) == 0){ // year가 100으로 나눠떨어지면 return (year/100) // 100으로 나눈 몫 반환 } else { return (parseInt(year/100) + 1) } } 파이썬 풀때도 많이 이용했던 방법이라 반..
2021.05.02 -
[파이썬] 백준 1149번 RGB거리
문제링크 이 문제는 이해하는데까지 정말 오래걸렸다😫 이해하고나니 정말 체한것 다 내려간 기분.. 전형적인 동적계획법(DP)문제인데, 어려운 개념같지만 문제만 이해하면 코드짜는데는 그렇게 어렵지않다. 문제이해 예제를 보며 문제를 간단하게 이해해보면 3개의 집을 빨간색, 파란색, 초록색으로 칠하는데 이웃한 집은 같은 색으로 칠 할 수없다. [0]라인부터 [1], [2]까지 미니멈 가격을 DP 리스트에 추가해준다. [1][0]은 빨강이니까 [0][1]인 G(40)과 [0][2]인 B(83)을 더한 값 중 더 작은 값을 DP의 [1][0]자리에 넣는다. for문을 돌리며 첫번째 for문에선 [1]라인이 i, [0]라인이 i-1, 두번째 for문에선 [2]라인이 i, [1]라인이 i-1 아래의 코드를 보면 아마 ..
2021.05.02