알고리즘(10)
-
[매일코딩-프로그래머스] 두 개 뽑아서 더하기 01
오늘도 딱 십오분만... [문제] 두 개 뽑아서 더하기 배열이 하나 주어지고 해당 배열 내의 숫자를 각각 더해 나온 숫자를 오름차순으로 정렬한 배열을 추출해야한다. 배열 내의 인덱스는 서로 다른 인덱스여야 한다. ex numbers[1]+numbers[1] 은 안됨 조건은 배열의 길이length는 2 이상 100 이하이고 배열 내의 숫자는 0이상 100 이하의 숫자이다. [풀이] 우선 거의 구구단과 흡사한 것이라고 생각이 든다. 조건문으로 배열의 길이를 정하고 시작하자. function solution(numbers) { var answer = []; if(2
2022.01.27 -
[매일코딩-프로그래머스] 문자열을 정수로 바꾸기 01
재택한다고 한동안 알고리즘 공부를 소홀히 하여따... 15분만 집중해서 공부해보자 [문제] 문자열을 정수로 바꾸기 문자열 s가 주어진다. s는 1 이상 5 이하의 길이를 가지고 있고, s의 맨 앞에는 음, 양 부호가 표시될 수 있다. 따라서 s는 부호와 숫자로 이루어져 있고 s는 0으로 시작하지 않는다. 이 s라는 문자열을 숫자로 변환하라 [풀이] 언뜻 보면 되게 쉬워보인다. 글자를 숫자로 반환하는 메소드는 parseInt 인데 부호가 그대로 들어가는지는 모르겠지만 한 번 적용해본다. 우선 s의 길이 조건문을 만들어주고 parseInt로 숫자가 변환되도록 하였다. function solution(s) { var answer = 0; if(1
2022.01.26 -
[매일코딩-프로그래머스] 문자열 다루기 기본 01, 02
어제 문자열다루기를 분명 풀어서 글을 올린 것 같은데..! 없어졌다! 저장도 안되어있는거 보니 날린듯 ㅠㅠ [문제] 문자열 다루기 기본 문자열의 길이가 4이거나 6이고, 숫자로만 구성되어있는지 확인하는 함수를 구현하면 된다. 주어지는 문자는 1개부터 8개의 글자로 이루어져 있고, 숫자와 문자가 혼합될 수 있다. 길이가 4이거나 6이고, 숫자로만 되어 있는 조건을 만족하면 true를 출력하면 된다. [풀이] 우선 문자열의 길이가 1~8 인지 확인하는 조건문을 준다. 그리고 문자열의 길이가 4개이거나 6개이면 각각의 문자열이 숫자인지만 확인하면 된다. 먼저 문자열의 길이가 1~8개인지 확인하는 조건문은 다음과 같다. 우선 s.length 그러니까 주어지는 문자열 s 의 길이를 변수에 담고 해당 변수를 확인한..
2022.01.04 -
[매일코딩-프로그래머스] 모의고사 06
한 문제 가지고 엄청 오래 끄는 느낌이다!! 그래서 나는 여기서 acnt, bcnt, ccnt를 value로 1, 2, 3을 key로 한 객체로 전환해서, value값에 따라 객체를 내림차순 sort하고, key값을 배열로 담는데, sort한 객체의 value 값이 0이면 value를 담지 않는 코드를 써보려고 한다. 어제 썼던 글에서 내림차순 sort 까지 했고, key 값만 배열로 다시 담는데, 담을 때는 0이면 배열에 담지 않는 코드를 써야한다. sortobj.map((v)=>{ if(v[1]!=0){ resultobj.push(parseInt(v[0])) } }) 정렬한 배열을 map으로 돌려서 if문으로 v를 받아 v의 채점 결과가 0이 아니면 resultobj라는 결과를 받을 배열에 key값이..
2021.12.09 -
[매일코딩-프로그래머스] 모의고사 05
이런저런 회사일로 인해 아침 시간을 내기 애매한 상황이 되었었다.. 지금도 약간 바쁘지만 딱 10분만 코테를 풀어보려고 블로그를 켰네 😥 우선 통째로 베껴온 코드는 이렇다. function solution(answers) { let answer = [], res = []; let a=[1,2,3,4,5]; let b=[2,1,2,3,2,4,2,5]; let c=[3,3,1,1,2,2,4,4,5,5]; let acnt = 0, bcnt=0, ccnt=0; for(let i=0; i
2021.12.08 -
[매일코딩-프로그래머스] 가운데 글자 가져오기 02
어제는 외주 킥오프때문에 정신이 하나도 없었다. 월요일 밤에 야근하고 어제 야근한 문서 최종 컨펌 받고 정리해서 외주 개발자분께 넘기느라고 진이 다 빠져서 저녁에 리액트 공부도 강의 한 개 간신히 들었다. 리액트 강의 빨리빨리 진행하려고 했는데.. 이번주 토요일도 스터디 카페를 가야겠다. 이래선 진도가 안나가겠어. 월요일에 하던 가운데 글자 가져오기를 계속 해보자 charAt 메소드를 사용해서 단어를 미리 .split('')로 슬라이스 하지 않고 인덱스 번째의 문자열 하나를 빼냈다. 실행 결과는 맞으나 채점에서 테스트 2, 8, 13, 14 16 실패가 떴다. if로 나누는게 아닌가? 뭔가 더 생각이 들지 않는데... function solution(s) { var num = s.length*0.5 if..
2021.11.17