본문 바로가기

자기개발/TIL35

A강조하기에는 a도 A도 A가 나와야 한다 오늘도 프로그래머스에서 문제를 풀었다. myString라는 문자열을 받으면 여기서 a를 A로 만들고 a가 아닌 글자들은 전부 소문자로 바꾸라는 거였다. 그래서 문제를 풀고 처음에는 이번에도 reg를 써서 해야겠다라고 생각해서 let reg = /a/gi를 적어놓고서 코드를 작성하려고 하니 대문자로 바꾸는 것 뿐만 아니라 a가 아닌 대문자는 소문자로 바꿔야 하는 것도 있었다. 사실 아직 . 으로 연결하는 걸 잘 못하는 지라 일단 계속 해 왔던 reduce로 했다. 문자열을 하나의 문자열로 다시 만드는 건 reduce가 편하다고 생각해서 reduce로 하게 됐다. function solution(myString) { var answer = [...myString].reduce((acc,c)=> c === '.. 2023. 7. 20.
앗차! reduce는 그냥 쓰면 문자열로 만들었지! 오늘도 프로그래머스에서 문제를 풀다가 reduce로 풀 수 있을거 갖아서 배열에서 문자열 대소문자 변환하기 문제를 선택했다. 그리고 나 스스로 로직을 짯다. 먼저 strArr배열에서 홀수 인덱스를 구분하는 !i%2면 "홀수" 그 외의 값은 당연히 짝수번째 인데그가 되기 때문에 나머지는 "짝수"가 되서 답은 [홀수,짝수,홀수,짝수] 이런식으로 나오는 걸 기대하고 코드를 작성했다. ? 뭔가 이상한데? 짝수 혹은 홀수 이렇게만 답이 나왔다...? 그래도 일단 분기처리가 되는거 같으니 매서드인 toLowerCase()를 사용해 보자라고 생각해서 코드를 작성했다. 근데 toLowerCase()에서.. 괄호 안에 변수를 넣는거였는지... 앞에 넣는건지 기억이 안나서 검색해서 다시 찾아봤다.ㅎ 다시 숙지를 하고 넣었.. 2023. 7. 18.
array.from({length:?}...로 줄어드는 배열 만들기 오늘도 프로그래머스로 js문법 사용능력을 길렀다. 오늘은 카운트다운을 풀었고 이 문제는 start, end가 10과 3일때 result로 [10,9,8,7,6,5,4,3]인 배열을 반환하게 코드를 만들라는 거였다. 사실 처음엔 for 문으로 만들었다가.. 이상하게 너무 많은 글자가? 나온다고 해서 왜지? 하고 전에 정해진 숫자로 배열만들기 할 때 썻던 array.from({length:})가 생각나서 그걸로 급 선회했다. var answer = Array.from({length:start-end+1},((v,i)=>i+end)).sort((a,b)=>b-a) 나는 답을 이렇제 제출했고 성공했다. length부분에는 배열의 길이를 정하는 거니까 손쉽게 사용법을 알 수 있었다. 그런데 역시나 콜백함수에 약하.. 2023. 7. 15.
객체도 정확히 알아야겠다! 오늘도 프로그래머스에서 문제를 풀었어요. 조건문이라 되어 있어서 if나 그렇게 풀면 되는가? 했는데.. 일단 저는 조건문이나 if문 안했어요... 일단 문제는 정수 n과 문자열 control이 주어집니다. "w" : n이 1 커집니다. "s" : n이 1 작아집니다. "d" : n이 10 커집니다. "a" : n이 10 작아집니다. control의 앞에서부터 순서대로 문자에 따라 n의 값을 바꿉니다. 가장 마지막에 나오는 n의 값을 반환할 것 입니다. 예시는 이랬고 설명은 0 → 1 → 0 → 10 → 0 → 1 → 0 → 10 → 0 → -1 → -2 → -1 따라서 -1을 return 합니다. 이랬습니다. 그래서 이걸 보고 ->는 +기로 쓰면 되겠고, 커지는건 양수, 작아지는건 음수로 설정했어요. f.. 2023. 7. 14.