https://www.acmicpc.net/problem/16675
16675번: 두 개의 손
첫 번째 줄에 차례로 ML, MR, TL, TR이 공백으로 구분되어 주어진다. 차례대로 민성이의 왼손과 오른손, 태경이의 왼손과 오른손의 상태를 나타낸다. 위 4개의 값들은 “S”, “R”, “P” 중 하나이
www.acmicpc.net
맨처음 생각이 났던 것은 하나씩 다 해보는 것... 이었지만!
뭔가 방법이 있지 않을까?? 싶어서 혹시 이기는 수를 카운팅하면 답이 나오는거 아닐까라는 생각을 하게 되었다.
그 결과 땡 ^ㅡ^
뭔가 간단하게 하는 방법이 있지 않을까 열심히 고민했지만 전혀 생각이 나지 않아서...
하나씩 비교하는 방법으로 방향을 바꾸었다.
다른 사람의 풀이를 보니 %를 이용하여 간단하게 구할 수도 있나보다..!!!
생각은 했지만 머리가 따라주지 않아 슬픈 하루였다... 응...
더보기
1. for문
for i in (range) 와 같은 방법으로 진행이 되는데
특이하게 맨 뒤에 값도 포함을 한다. 즉 0..4 하면 0~4를 다 돈다. 주의할 것.
2. String.index()
index를 반환해준다.
그 값이 있는 경우 integer값을, 없는 경우 nill 값을 반환해준다.
Ğ̎ĭ̎t̆̎H̆̎ŭ̎b̆̎ : https://github.com/YunYunYY/BOJ_Ruby/blob/main/B16675.rb
a=gets.split.to_a
for i in 0..3
a[i]='SRP'.index(a[i])
end
ou = ""
if a[0]==a[1]
if a[0]==2
if(a[2]==0||a[3]==0)
ou="TK"
end
else
if(a[2]==a[0]+1||a[3]==a[0]+1)
ou="TK"
end
end
end
if(a[2]==a[3])
if a[2]==2
if(a[0]==0||a[1]==0)
ou="MS"
end
else
if(a[0]==a[2]+1||a[1]==a[2]+1)
ou="MS"
end
end
end
if ou==""
puts "?"
else
puts ou
end
'BOJ > Ruby' 카테고리의 다른 글
백준 Ruby : #15734 (0) | 2022.04.27 |
---|---|
백준 Ruby : #9366 (0) | 2022.04.19 |
백준 Ruby : #14568 (0) | 2022.04.15 |
백준 Ruby : #18247 (0) | 2022.04.06 |
백준 Ruby : #24072 (0) | 2022.04.02 |