TIL 12일차

김동현·2022년 11월 18일

TIL

목록 보기
11/93

알고리즘 1번(직사각형 별 찍기)

process.stdin.setEncoding('utf8');
process.stdin.on('data', data => {
    const n = data.split(" ");
    const a = Number(n[0]), b = Number(n[1]);
    for(let i =0; i<b;i++){
        let star=""
        for(let j=0; j<a;j++){
            star+='*'
        }
        console.log(star)
    }
});

알고리즘 2번(짝수와 홀수)

function total(s){
	return s%2 ? "Odd" : "Even"
}

total(9) = Odd
total(6) = Even

해설 : 삼향 연산자를 사용햐 s%2 조건을 만들고 ? 참값 : 거짓값 
즉 ? true(1) : false(0)

알고리즘 3번(가운데 글자 가져오기)

function a(s) {
  let q = s.length // 변수 q에 s매개변수 길이값을 넣어줌
  if(q%2===0){ // 만약 변수 q가 2로 나눳을때 나머지가 0일시
      return s[q/2-1]+s[q/2] // s길이2로나누고 -1한 인덱스 + s길이 2로 나눈 인덱스 두개를 +연산자에 의해 두값이 붙어서 나옴
  }
  else{
      return s[Math.floor(q/2)] or s[q/2-0.5]
      // s길이2로나누고 0.5를 빼거나 Math.floor()메소드를 사용하여 소수점을 날리는 방법도 있다!
  }
}

console.log(a('abcde')) -> c출력
console.log(a('qwer')) -> we출력

참조 : https://codechacha.com/ko/javascript-number-ceil-floor-round/

다른사람이 쉽게 푼 예시
function solution(s){
	const tot = Math.floor(s.length/2);
	return s.length %2===1 ? s[tot] : s[tot-1]+s[tot]
}
profile
꺽이지 않는 마음

0개의 댓글