안녕하세요 컴퓨터로 멋지게 샤샤샥 포스팅을 하고 싶었는데 컴터가 맛이 가서 하루종일 고치느라 하루가 다 갔습니다 ㅠㅠ
14년째 쓰는 컴퓨터라 이제 갈때가 된거 같네요..집에서 컴터를 거의 안하다보니 ㅠ
서론이 좀 길었네요!! 오늘은 javascript 3일차 제목은 수박수박수박수?? 이게 뭘까요..??
무..물론 이건 아니고요 바로 문제 가겠습니다!
문제 | 길이가 n이고, 수박수박수박수....와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 수박수박을 리턴하고 3이라면 수박수를 리턴하면 됩니다. |
---|---|
제한 조건 | n은 길이 10,000이하인 자연수입니다. |
입출력 예 | |
---|---|
n | return |
3 | '수박수' |
4 | '수박수박' |
네 이번 문제를 보면 뭔가 반복하네요 수박수박수박~호옥시.. 지난번 포스팅 보신분!!!??
아..흠..뭐..아무도 없으시겠죠..ㅠㅠ
지난 번에 썼던 repeat 메소드를 쓰면 되겠다!! 라고 생각이 들지 않으시나요??네..??
그냥 포스팅 하라고요..네..그럼 문제 풀어보겠습니다.
문제는 홀수일때는 마지막에 '수' 로 끝나고 짝수일때는 '수박' 으로 끝나니깐 '수박' 이라는 한 단어를 묶음으로 치고 n을 2로 나눈수 만큼 반복하고 홀수일때는 마지막에 '수' 를 추가해서 문제를 풀어보겠습니다~
function solution(n) {
var repeatStr = '수박';
var answer = repeatStr.repeat(Math.floor(n/2))
+ repeatStr.substr(0,n%2);
return answer;
}
음..여기서 또 이상한 것들이 좀 나왔죠?? Math, substr 등등..
이것도 짜투리로 설명!!
Math는 자바스크립트의 내장되어있는 객체로 이름에서 보듯이 mathematics 즉 수학이라는 객체 입니다~ 여러가지 방식으로 수학 공식 해주니 개발자에겐 자주 보는 객체! 간단하게 몇개만 남기고 갈께요~
숫자가 소수점으로 나왔을때 난 정수로 만들고 싶어!!!! 이러면 바로 Math 도와줘!!
소수점 올림 | Math.ceil(숫자) |
---|---|
소수점 내림 | Math.floor(숫자) |
소수점 반올림 | Math.round(숫자) |
즉 풀이에서 전 n값이 넘어올때 홀수면 내림으로 처리해서 repeat 처리하고 마지막에 '수'를 붙이고
짝수면 repeat만 처리되게 처리했습니다~
- 미리보기 하는데 막 포스팅이 깔끔하지 않네요 ㅠㅠ 이렇게 정기적으로 포스팅하며 마크다운도 얼른 적응할께요