반복문 코딩관련 이론 질문

반복문 코딩관련 이론 질문

작성일 2023.12.06댓글 1건
    게시물 수정 , 삭제는 로그인 필요

        [문제]
            철수는 산전수전 끝에 50층 빌딩의 건물주가 되었다.
            철수는 빌딩의 엘리베이터에서 숫자 4를 전부 제거 했다.
            만약에 실제로 4층을 간다면 숫자 5를 눌러야 한다.
            철수의 빌딩은 지상 1층에서 지상 50층이고,
            실제 층과 엘리베이터에 적혀있는 숫자를 1층부터 순서대로 출력하시오.

이런 문제를 풀고있는데
    let 실제층 = 1;
    let 버튼 = 1;
    while(실제층 <= 50) {
        let a = Math.floor(버튼 / 10);
        let b = 버튼 % 10;
        if(a != 4 && b != 4) {
            document.write(실제층 + " " + 버튼 + "<br>");
            실제층 += 1
        }
        버튼 += 1;
    }

정답지를 보니까 이런 방식으로 풀더라구요

제 생각인건데 원래는 이렇게 OR 형태로 풀어야하는거 아닌가요?
왜 OR이 아닌 AND로 풀이가 된건지 조금 이해가 안돼서요.
혹시 도움 주실 분 계신가요?
        if(a != 4 || b != 4) {


































profile_image 익명 작성일 -

문제의 요구사항은 "엘리베이터의 버튼에 4라는 숫자가 포함되면 안 된다"입니다. 여기서 "4라는 숫자가 포함되면 안 된다"는 조건은 "십의 자리에 4가 없고, 일의 자리에 4가 없다"로 표현할 수 있습니다.

이를 논리 연산자로 표현하면 AND 연산자(`&&`)를 사용해야 합니다. 왜냐하면 십의 자리와 일의 자리 모두에서 4를 피해야 하기 때문입니다. 즉, 두 조건이 모두 참이어야 (즉, 둘 다 4가 아니어야) 전체 조건이 참이 됩니다.

반면에 OR 연산자(`||`)를 사용하면 두 조건 중 하나만 참이어도 전체 조건이 참이 되므로, 십의 자리나 일의 자리 중 하나라도 4가 아니면 조건을 만족하게 됩니다. 이는 문제의 요구사항을 만족시키지 못합니다.

따라서 이 문제를 풀 때는 AND 연산자를 사용해야 합니다.

C반복문 코딩 관련 질문요 ^^

... // i = i++ 도 틀린것은 아니지만, 매우 위험한 좋지않은 코딩 방식입니다. 옆의 방법이 싫다면 i = i+1; 로 쓰시는게 좋을 것 같네요. while(j<5) { j...

코딩 관련 질문

... •실습 중심 학습: 이론 학습과 병행하여, 작은 프로젝트나... •커뮤니티 참여: 코딩관련된 온라인 포럼이나 커뮤니티에 참여해 질문하고, 다른 사람들의 코드를 보며...

코딩 공부 관련 질문 (예비 고2)

... 가장 관련 되어 있는게 맞나요?) 안녕하세요~ 코딩 공부 관련 질문 남겨주셔서 답장 드립니다. 학원을 등록하기보단 강의 형식으로 된 것을 희망한다고 하시니 이론 중심이...

코딩테스트 관련하여 질문드립니다.

... 통해 코딩테스트를 준비하려고 하는데 몇가지 질문이... 제어문, 반복문, 배열등등의 문제수가 다량있던데... 하려는데 코딩테스트 관련하여 괜찮은 책 있으시면...

자바 코딩, 이론 관련 문제

문제 정답지가 없어서 질문 드립니다 문제를 보시고 최대한 아는데까지 정답을 알려주시면 감사하겠습니다 1. Object oriented programming 2....

전자공학과 코딩관련 질문

... 숫자출력하고 반복문쓰는 초급단계 말구요. 이제 진짜... 요즘 코딩에 흥미가생겨서 군대에있을동안 집중적으로 파볼랍니다 도움좀주세요 답변이 질문자님에게 도움이...

코딩 관련 질문

... 이런 코딩을 뭐라고 하나요 이러한 작업을 수행하는 코드를 작성할 때는 "반복문"을 사용합니다. 자동으로 일정한 간격으로 작업을 수행하는 것은 "타이머" 또는 "스케줄러...