코딩응애의 개발블로그

백준 2941번 (for of 문) 본문

알고리즘 문제

백준 2941번 (for of 문)

이너멜 2022. 8. 17. 19:28
처음에는 그냥 하드코딩으로 for문 이용해서 풀려고 했는데 이건좀 아닌것 같아서 
그냥 구글링 해서 방법을 알고 제출함 근데 내가 맨 처음에 푼 제출 내용을 봤는데 어우 너무 좀 노가다성이 짙긴 했다.
그마저도 유튜브보고 푼것 같은데 음.. 
for of 반복문의 대해 제대로 알게되는 시간을 가진듯 하다. 
const fs = require('fs');
const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt';
let input = fs.readFileSync(__dirname + '/input.txt').toString().split('\n');

solution(input[0]);

function solution(str) {
  const croatia = ["c=", "c-", "dz=", "d-", "lj", "nj", "s=", "z="];

  for (let element of croatia) {
    str = str.split(element).join('#');
  }
  console.log(str.length);
}

for of 

for...of 명령문 반복가능한 객체 (Array, Map, Set, String, TypedArray, arguments 객체 등을 포함)에 대해서 반복한다. 

출처 : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements/for...of    

예를 들어서

const array1 = ['바나나', '사과', '포도'];

for (const element of array1) {
  console.log(element); // "바나나" "사과" "포도" 출력 
}

for in 과 뭔가 쓰는 생김새가 비슷한것 같지만 많이 다른것 같음 for in 은 객체에 어울리고 for of 는 배열에 어울린다

배열도 객체이긴 하지만 위에 코드내용을 for in 문으로 반복을 해보면 0 1 2 이렇게 결과가 나온다

Comments