어질어질한 for문

iikasam·2022년 4월 8일
0

문제

다음 groups 배열을 가지고,
이긴 사람끼리 그리고 진 사람끼리 팀을 나눠 teams 배열을 완성해보자.

let groups = [
  ['영준', '캡틴'], 
  ['태순', '우재'],
  ['재훈', '지웅'],
  ['윤형', '동욱'],
  ['규식', '소원'],
];

let teams = [
  [],
  [],
];

도전

처음에 작성한 코드이다.
일단 생각나는대로 중첩반목문을 사용했다.

for (let i = 0; i < groups.length; i++) {
  for (let j = 0; j < groups[i].length; j++) {
   teams[j][i] = groups[i][j];
  }
};

그렇다. 가독성이 매우 좋지 않다.

지인이 이런 나의 코드를 보더니
for...of 를 써봐서 한번 만들어보아라! 하시며 미션을 던져주셨다.
옙 자신은 없지만 도전해보겠읍니다요..

for (let key of groups) {
  teams[0].push(key[0]);
  teams[1].push(key[1]);
}

그래서 시도했는데 요 아이도 썩 보기좋아 보이지않았다.
(나는 잘 모르지만)
찾아보니 요 아이는 범용성이 좋지 않다더라.

그래서 두가지를 섞었다.
이 코드는 경우의 수가 늘어나더라도 수정하지 않고 잘 사용할 수 있는데.....

for (let key of groups) {
  for (let i = 0; i<key.length;i++) {
    teams[i].push(key[i]);
  }
}

입문자(?)도 안될 것 같은ㅜㅜ비루한 나로써는
이 방법이 최선인지 아닌지 판단할 수 없기 때문에..
우선 강의 커뮤니티에 글을 남겼다.
다행히도 직업 특성상 주변에 개발자 동료, 지인분들이 많아서 좋다...

profile
묵묵히, 꾸준히,

0개의 댓글