*perl* my $input = <STDIN> ; 사용시 ()() OK, ()(( fail 관련 질문 드립니다
글쓴이: yoon7068 / 작성시간: 월, 2017/02/27 - 10:08오후
질문 내용
test.pl 이라는 perl file을 만드려고 합니다
구문 내용은 아래와 같습니다
() () -> 이와 같이 열린 괄호와 닫힌 괄호가 한쌍으로 되어있으면 OK.
(( () -> 이와 같이 열린 괄호와 닫힌 괄호가 쌍으로 되어있지 않으면 FAIL.
이러한 perl 파일을 만드려고 합니다
my $input = ;
위와 같이 기입후에
test.pl () emter 치면 OK
test.pl (( emter 치면 FAIL
구현 되게 만들고 싶은데 push, pop이나 underflow, overflow 등의 함수를 사용 하면
가능하다고 하는데 생초보라 이틀 내내 했는데 답이 안나옵니다..ㅠㅠㅠㅠ
고수님들 도움 부탁드리겠습니다
Forums:
숙제를 대신 해달라는 게 아니라면, 이틀 내내 한 그
숙제를 대신 해달라는 게 아니라면, 이틀 내내 한 그 내용을 적어주시면 여기 계신 분들이 잘못된 부분을 짚어주실 겁니다.
1.
괄호로 이루어진 문자열을 뭘로 받으실 건지부터 정하세요.
STDIN으로 받을 경우는 본문에 적은 것처럼 할 수 없습니다.
본문처럼
이렇게 명령행인자로 받고 싶다면 @ARGV 배열에 명령행 인자가 담기니까 거기서 뽑아 쓰세요.
2.
일단 입력을 받았으면 그 입력에서 한 글자씩 읽어야겠죠.
3.
이제 한글자씩 읽을 수 있게 되었으니 남은 건 OK, FAIL 판정하는 것 뿐이네요. 이걸 어떻게 구현할지야 자기 맘입니다만, 문제가 그저 저것 뿐이라면 저라면 그냥 0부터 시작해서 '('가 나오면 +1, ')'가 나오면 -1을 반복하겠습니다. 물론 push, pop 을 써서 다른 배열에 스택을 만들어도 되지만...
좋은 하루 되세요!
댓글 달기