인프런 커뮤니티 질문&답변

yhy9201님의 프로필 이미지
yhy9201

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

2-H

2-H 4659 flag =1 관련 조건문 문의

해결된 질문

작성

·

222

0

안녕하세요!

2-H 4659 에서 flag =1 관련 조건문을 문의드립니다.

if(i >= 1 && (prev == idx) && (idx != 'e' && idx != 'o')){flag = 1;}

같은 글자가 연속으로 나오면 (i>=1 && prev==idx)

flag=1 이해했습니다.

(idx != 'e' && idx != 'o') 이 부분이 이해가 되지 않습니다..ㅠㅠ

ee와 oo 연속을 허용한다는 뜻일까요,,

그럼 답변 부탁드려요,,

답변 1

1

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 9201님 ㅎㅎ

이부분 코드 말씀하시는거죠?

if(i >= 1 && (prev == idx) && (idx != 'e' && idx != 'o')){

하나하나 정리해볼게요.

if i >= 1

우리는 단어 2개를 비교해서 ee, oo는 허용한다를 구현해야 해요.

그렇기 때문에 2개임을 확인하기 위해 >=1 인 상태가 필요해요. i = 0일 때는 한개의 단어만 보고 prev가 아직 정의되어있지 않죠?

 

prev == idx

정의 해놓은 prev와 지금의 idx가 동일하다면 aa, ee, dd, rr, ... 이런 상태일거에요.

 

자 이 때!!!

(idx != 'e' && idx != 'o')

idx = e 가 아니고 idx = o가 아니라면,

ee, oo는 아니라는 것이죠?

그 때는 "이거 안되는 문자열이야!!" 하고 flag를 변경시켜서 not acceptable을 출력해야 합니다.

 

 

또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제가 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.

 

yhy9201님의 프로필 이미지
yhy9201
질문자

답변 항상 감사드립니다.

yhy9201님의 프로필 이미지
yhy9201

작성한 질문수

질문하기