※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 2321번 문제인 Crowing이다.
문제는 아래 링크를 확인하자.

https://www.acmicpc.net/problem/2321 

 

2321번: Crowing

Farming seems to be the easy life. You have lots of time to practice your asci art. Use your computer skills to produce the following ascii roster.

www.acmicpc.net

제출언어 제한에 따라 Fortran 언어로 문제를 해결해주자.

 

Fortran 언어로 작성된 Hello, World! 출력 예제 등을 참고하면 문제를 편하게 해결할 수 있을 것이다.

 

아래는 제출한 소스코드이다.

print'(",~")'
print'("( 9> //)")'
print'(" )(_///")'
print'("( \_>/")'
print'(" \__/")'
print'("  ^^")'
end

 

참고)

많은 Fortran 튜토리얼 문서들은 다음과 같은 Hello, World 예제를 제공한다.

program p
  print *, 'Hello, World!'
end program p

하지만 이와 같은 프로그램을 실행시키면 문자열 'Hello, World!'의 앞에 공백이 하나 추가로 출력되는 것을 관찰할 수 있다. 따라서 이와 같이 출력하면 BOJ는 이 코드를 오답처리("출력 형식이 잘못되었습니다")한다.

 

이는 *양식으로 출력하면 그렇게 출력하게끔 정의되어 있기 때문이다. 해당 공백의 경우 예전에는 그 당시의 프린터와의 호환을 위해 필요했으나 시간이 흐르면서 불필요한 과거의 흔적이 되었다.

 

이와 같은 형식으로 문제를 해결하고자 할 경우 다음과 같이 * 대신 '(a)'양식을 이용해 문제를 해결하자.

program p
  print '(a)', ',~'
  print '(a)', '( 9> //)'
  print '(a)', ' )(_///'
  print '(a)', '( \_>/'
  print '(a)', ' \__/'
  print '(a)', '  ^^'
end program p

 

 

위 내용은 다음 사이트들의 내용을 참고하여 작성되었다.

링크1

링크2

728x90

'BOJ' 카테고리의 다른 글

[BOJ 6825 // C++] Body Mass Index  (0) 2022.12.19
[BOJ 26531 // C++] Simple Sum  (0) 2022.12.19
[BOJ 26545 // C++] Mathematics  (0) 2022.12.19
[BOJ 26495 // C++] Big Number  (0) 2022.12.19
[BOJ 26546 // C++] Reverse  (0) 2022.12.19

+ Recent posts