Exercise(Javascript)

NasK!m_311·2022년 9월 19일
0

Exercise

목록 보기
5/5
post-thumbnail

💡 문제 1.

let s = [
        "이유덕", "이재영", "권종표", "이재영",
        "박민호", "강상희", "이재영", "김지완",
        "최승혁", "이성연", "박영서", "박민호",
        "전경헌", "송정환", "김재성", "이유덕",
        "전경헌",
      ];
  1. "이재영"이라는 이름이 몇 번 반복되는지?
    [ 함수 생성, 파라미터로 넘겨받도록("이재영")
function is_lee(name) {
 let count = 0;								-> 반복되는 횟수를 담을 변수 선언.
 
 for (let i = 0; i < s.length; i++) {
  
   if (s[i] == name) {
    
     count++;
     
   } // if문
   
 } // for문
  
  return name + " : " + count;
  
} // function문

document.write(is_lee("이재영"));			-> 결과 : 이재영 : 3

  1. 중복된 이름을 제거한 이름을 출력하시오.
-> 배열의 요소를 처음부터 하나씩 차례로 자기를 포함한 요소와 비교를 해볼것이다.(이중for)
	중복이 아닌 요소는 자기자신과 한 번만 같을테니 1번 중복하고,
    중복인 요소는 1번 이상 중복할거다.
    
    이 방식대로 코드를 작성해 보았다.

function remove_overlap() {
  let uniq = [];			-> 중복된 이름을 제거한 이름을 담을 배열 선언.
  
  for (let i = 0; i < s.length; i++) {
     let cnt = 0;				-> 중복되는 횟수를 담을 변수 선언.
     							다음 검사 떄마다 초기화를 시켜줘야 하므로 for문 안쪽에 선언.
  	  
    for (let j = 0; j < s.length; j++) {
     
      if(s[i] == s[j]) {
         
        cnt++;
          
      } // 이중for문 if문
      
    } // 이중for문
    
    if(cnt == 1) {
      
      uniq.push(s[i]);
      
       } // for문 if문
    
  } // for문
  
  return uniq;
  
} // function문

document.write(remove_overlap());
-> 결과 : 권종표,강상희,김지완,최승혁,이성연,박영서,송정환,김재성
profile
메리아빠, 먹다가 죽어도 되는 개발자.(살뺴자....)

0개의 댓글