코딩/코테
[프로그래머스] 올바른 괄호 (스택/큐)
문제: 유효한 괄호인지 확인하기 function solution(s) { let count = 0; const arr = [...s]; if (arr.length %2 == 1) { return false; } for(let i = 0; i (arr.length / 2)) { return false; } if (arr[i] === "(") { count++; } if (arr[i] === ")") { count--; } if (i === arr.length-1) { if (count === 0) return true; else return false; } } } 시간 줄이기 위해서 한 일 1. 꼭 for문이 아니어도 되는 ..
![[프로그래머스] 기능개발 (스택/큐)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FInHfG%2FbtssvUxEiMk%2FfyoqAQC98YvlqI8pC87kLk%2Fimg.png)
[프로그래머스] 기능개발 (스택/큐)
문제 원문 문제 파악 1. 각 기능은 100%때 배포됨 -> 배포 날짜는 잔여 기간과 스피드에 따라 결정됨. 2. 배포 날짜를 나열했을 때, 뒷 요소가 앞 요소보다 작을 경우 앞 요소보다 빨리 배포되지 않고 앞 요소가 배포될때 함께 배포됨. -> 앞 요소(기준) ~ 앞 요소보다 작거나 같은 요소들까지 함께 배포됨. 3. 각 날짜마다 배포되는 개수를 배열에 저장하여 반환하라. 코드 적용 function solution(progresses, speeds) { let days = [];// 배포 날짜를 저장할 배열 let result = [];// 최종 결과 let count = 0;// 같은 날짜에 배포되는 기능의 수(result의 요소) // 잔여 진도와 속도로 배포 날짜 구하기 progresses.for..
![[구름] 합격자 찾기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbuxkk1%2Fbtr7OJYXybZ%2FO7Reya5uYTFY3tiJihhDe1%2Fimg.png)
[구름] 합격자 찾기
제출 정답 test_num = int(input())# 오답1 : input type result = [] i = 0 while i = avg : passer += 1 else : continue result.append(str(passer) + '/' + str(takers)) passer = 0 i += 1# 오답2 : while문의 형식 for y in result : print(y) 풀이 과정 ..
![[자바스크립트] 두 날짜 사이의 일수 구하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdFUczY%2FbtrFpvsQLmx%2FYPbat0L4JJI0I2vv3WNkA1%2Fimg.png)
[자바스크립트] 두 날짜 사이의 일수 구하기
How Many Days Between Two Dates 그 날로부터 며칠이나 지났지? 100에서 40을 빼는 것은 쉽습니다. 그러나, 6월 17일로부터 40일 전의 날짜를 구하는 것은 시간이 조금 걸립니다. 각 달마다 일 수가 틀리기도 하고, 10진수가 익숙한 우리에게 30짜리 묶음을 기준으로 계산하는 것은 생각을 필요로 합니다. 이러한 불편함을 해소하기 위해, 유용한 Date 메서드를 사용하여 아주 간단한 함수를 만들어 봅시다. 예시 getDays( new Date("June 14, 2019"), new Date("June 20, 2019") ) ➞ 6 getDays( new Date("December 29, 2018"), new Date("January 1, 2019") ) ➞ 3 // 두 날짜가 ..
![[자바스크립트] 각 자릿수의 합으로 홀수 짝수 구별하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlmloJ%2FbtrFnAoAt4P%2FiBfdSKscbQRkqzo471ezk0%2Fimg.png)
[자바스크립트] 각 자릿수의 합으로 홀수 짝수 구별하기
홀수 VS 짝수 인수로 받은 숫자의 모든 자릿수의 값을 각각 합하여 홀수일 경우 Oddish를 반환하고, 짝수일 경우 Evenish를 반환하는 함수를 만드시오. 예시 oddishOrEvenish(43) ➞ "Oddish" // 4 + 3 = 7 // 7은 홀수이다 oddishOrEvenish(373) ➞ "Oddish" // 3 + 7 + 3 = 13 // 13은 홀수이다 oddishOrEvenish(4433) ➞ "Evenish" // 4 + 4 + 3 + 3 = 14 // 14은 짝수이다 시도 틀린 코드 1 숫자 → 문자열 → 배열로 변환 후 Array.prototype.reduce 사용 인수로 받은 숫자를 toString()으로 문자열로 형변환 한 후 split()으로 한 글자씩 분리시킨다 스프레드..
![[자바스크립트] 배열 속 부메랑 패턴의 개수 구하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FesYySa%2FbtrDInXvWE4%2FeQh3pRgUS9zymKwRIKpsu0%2Fimg.png)
[자바스크립트] 배열 속 부메랑 패턴의 개수 구하기
배열 속 부메랑 패턴의 개수 구하기 [3, 7, 3], [1, -1, 1], [5, 6, 5] // 부메랑 패턴의 예시 [3, 7, 3, 2, 1, 5, 1, 2, 2, -2, 2] // 이 배열에는 3개의 부메랑 패턴이 존재한다 : [3, 7, 3], [1, 5, 1], [2, -2, 2] // 부메랑 패턴은 겹쳐질 수 있다 [1, 7, 1, 7, 1, 7, 1] // 이 배열에는 3개의 부메랑 패턴이 존재한다 : [1, 7, 1], [7, 1, 7], [1, 7, 1], [7, 1, 7], [1, 7, 1] 부메랑은 직립하거나 거꾸로 된 V자 모양을 하고 있다. 부메랑 패턴을 첫째 요소와 마지막 요소가 같고, 가운데 요소만이 다른 길이 3의 하위 배열로 정의할 때 배열 내에서 부메랑 패턴의 개수를 구..
![[자바스크립트] 중복 기능의 불필요한 함수](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNqsib%2FbtrDEAaZBmn%2FWvikrLod9zeNzHZ9uGa9dK%2Fimg.png)
[자바스크립트] 중복 기능의 불필요한 함수
불필요한 함수 인수로 전달받은 문자열을 반환하는 함수를 반환하는 함수를 만드시오.(함수의 반환은 문자열이 아닌 함수여야 한다.) 예시 const f1 = redundant("apple") f1() ➞ "apple" const f2 = redundant("pear") f2() ➞ "pear" const f3 = redundant("") f3() ➞ "" 시도 해결 코드 1 const redundant = function(str) { return function() { return str; } }; 반환하는 함수는 일종의 콜백 함수로, 호출됨으로써 가치를 다 하는 일반적인 함수와는 달리 인수로 넘겨지거나 반환값으로 사용된다. 매개변수를 지정하지 않았다. 매개변수를 지정하면 undefined가 나온다. 해결 ..
![[자바스크립트] 배열 내 참의 개수 구하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb1zzXt%2FbtrDy1uPlfr%2FRFeauYtlIDrqdMueLsQkv1%2Fimg.png)
[자바스크립트] 배열 내 참의 개수 구하기
참은 몇 개인가? 배열에 있는 참 값의 수를 반환하는 함수를 만드시오. 예시 countTrue([true, false, false, true, false]) ➞ 2 countTrue([false, false, false, false]) ➞ 0 countTrue([]) ➞ 0 시도 해결 코드 1 for문 const countTrue = function(arr) { let count = 0; for (let i=0; i arr.filter(v=>v===true).length; 배열 고차 함수를 사용하였다. true인 요소만 반환되어 만들어진 새로운 배열의 length 프로퍼티로 참의 개수를 반환하게끔 하였다. 해결 코드3 filter(boolean) const countTrue = arr => arr.fil..