10799번 - 쇠막대기
스택으로 레이져와 막대기를 구별한뒤,
포개진 막대기에서 아래의 더 긴 막대기가 위의 짧은 막대기의 잘린 횟수를 가져온다는 생각으로
짠 코드입니다.
숫자 p는 아래에서 위로셀때의 순서라고 생각하면 됩니다.
p=3 ____ __
p=2 ____________
p=1 _________________
레이져를 *라고 가정하면
12 3 3 3 3 21 ↓ a의 p값
a:( ( ( * * ) ( * ) * ) ) --> ( ( ( * * ) ( --> ( ( ( * * )
b: --> ) ) * ) * --> ) ) *
이런식의 알고리즘
이 문제는 오래된 문제라서 입력의 끝에 '\n'이 안 들어오는 케이스가 있습니다.
11번째 줄을 if (ch == '\n' || ch == EOF) 로 고치면 통과됩니다.
감사합니다...
댓글을 작성하려면 로그인해야 합니다.
sscaios1 5년 전
스택으로 레이져와 막대기를 구별한뒤,
포개진 막대기에서 아래의 더 긴 막대기가 위의 짧은 막대기의 잘린 횟수를 가져온다는 생각으로
짠 코드입니다.
숫자 p는 아래에서 위로셀때의 순서라고 생각하면 됩니다.
p=3 ____ __
p=2 ____________
p=1 _________________
레이져를 *라고 가정하면
12 3 3 3 3 21 ↓ a의 p값
a:( ( ( * * ) ( * ) * ) ) --> ( ( ( * * ) ( --> ( ( ( * * )
b: --> ) ) * ) * --> ) ) *
이런식의 알고리즘