【At Corder】 【초보자】 ABC081B - Shift only를 Ruby로 풀어 보았습니다.
소개
AtCoder 에 등록하면 다음에 하는 것 ~ 이것만 풀면 충분히 싸울 수 있다! 과거문정선 10문 ~ - Qiita
이 기사를 참고로 초보자가 At corder에 도전합니다.
목적은 취업 활동에서의 코딩 테스트 대책입니다.
매일 1문을 목표로 하여 갑자기 옵니다
모르는 것은 조사하는 정신입니다. 조금이라도 모르겠다, 라고 생각한 것은 조사해 해설과 참고문헌을 올리므로, 같은 내용으로 모르는 사람이 있으면 참고로 해 주세요
문제 ABC081B - Shift only
N개의 양의 정수 $A_1 ,...,A_N$가 있다. 이 정수가 모두 짝수이면 모든 정수를 2로 나눈 값으로 바꿉니다. 최대한 여러 번 조작 할 수 있는지 묻습니다.
입력 출력
입력
N
A1 A2 ... An
출력
최대로 몇 번 조작 할 수 있는지 출력하라.
입력 예
3
8 12 40
출력 예
2
첫 번째 [4,6,10], 두 번째 [2,3,5]가되고 홀수가 나타나기 때문에 대답은 2입니다.
답변
N=gets.to_i
numbers=gets.chomp.split(" ").map(&:to_i)
min = 99
numbers.each do |sum|
count = 0
while sum % 2 == 0 do
count = count + 1
sum = sum/2
end
if (count < min ) then
min = count:confused:
end
end
puts min
해설
N은 입력을 수락했지만 프로그램 중에는 사용하지 않았습니다.
받은 숫자를 각각 짝수인지 판단하고, 짝수라면 count를 +1하고, 대상의 값을 2로 한다. count의 숫자가 가장 작은 것을 min에 저장하고 그것을 출력한다.
감상
여기에서 어려워졌습니다. 문제문을 읽은 단계에서는 최소값을 출력한다는 발상은 나오지 않았습니다. 프로그래밍 같다!
처음 sum을 A로 했지만 오류가 발생했습니다. 왜 안 되었습니까? . 아는 분이 계시다면 가르쳐 주시면 기쁩니다
end의 위치를 puts ~의 뒤로 하고 있었기 때문에, 출력이 실수하고 있었습니다. 조심하자!
참고문헌 Array 클래스
Array#each (Ruby 3.0.0 참조 설명서)
Atcoder Beginners Selection을 Ruby로 풀어 보았다 - Kasasagi's memorandum
[AtCoder]ABC081B - Shift only [Ruby]
Reference
이 문제에 관하여(【At Corder】 【초보자】 ABC081B - Shift only를 Ruby로 풀어 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/nekonoiruheya/items/7f54ce189400a5367d9c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
N개의 양의 정수 $A_1 ,...,A_N$가 있다. 이 정수가 모두 짝수이면 모든 정수를 2로 나눈 값으로 바꿉니다. 최대한 여러 번 조작 할 수 있는지 묻습니다.
입력 출력
입력
N
A1 A2 ... An
출력
최대로 몇 번 조작 할 수 있는지 출력하라.
입력 예
3
8 12 40
출력 예
2
첫 번째 [4,6,10], 두 번째 [2,3,5]가되고 홀수가 나타나기 때문에 대답은 2입니다.
답변
N=gets.to_i
numbers=gets.chomp.split(" ").map(&:to_i)
min = 99
numbers.each do |sum|
count = 0
while sum % 2 == 0 do
count = count + 1
sum = sum/2
end
if (count < min ) then
min = count:confused:
end
end
puts min
해설
N은 입력을 수락했지만 프로그램 중에는 사용하지 않았습니다.
받은 숫자를 각각 짝수인지 판단하고, 짝수라면 count를 +1하고, 대상의 값을 2로 한다. count의 숫자가 가장 작은 것을 min에 저장하고 그것을 출력한다.
감상
여기에서 어려워졌습니다. 문제문을 읽은 단계에서는 최소값을 출력한다는 발상은 나오지 않았습니다. 프로그래밍 같다!
처음 sum을 A로 했지만 오류가 발생했습니다. 왜 안 되었습니까? . 아는 분이 계시다면 가르쳐 주시면 기쁩니다
end의 위치를 puts ~의 뒤로 하고 있었기 때문에, 출력이 실수하고 있었습니다. 조심하자!
참고문헌 Array 클래스
Array#each (Ruby 3.0.0 참조 설명서)
Atcoder Beginners Selection을 Ruby로 풀어 보았다 - Kasasagi's memorandum
[AtCoder]ABC081B - Shift only [Ruby]
Reference
이 문제에 관하여(【At Corder】 【초보자】 ABC081B - Shift only를 Ruby로 풀어 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/nekonoiruheya/items/7f54ce189400a5367d9c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
N
A1 A2 ... An
3
8 12 40
2
N=gets.to_i
numbers=gets.chomp.split(" ").map(&:to_i)
min = 99
numbers.each do |sum|
count = 0
while sum % 2 == 0 do
count = count + 1
sum = sum/2
end
if (count < min ) then
min = count:confused:
end
end
puts min
해설
N은 입력을 수락했지만 프로그램 중에는 사용하지 않았습니다.
받은 숫자를 각각 짝수인지 판단하고, 짝수라면 count를 +1하고, 대상의 값을 2로 한다. count의 숫자가 가장 작은 것을 min에 저장하고 그것을 출력한다.
감상
여기에서 어려워졌습니다. 문제문을 읽은 단계에서는 최소값을 출력한다는 발상은 나오지 않았습니다. 프로그래밍 같다!
처음 sum을 A로 했지만 오류가 발생했습니다. 왜 안 되었습니까? . 아는 분이 계시다면 가르쳐 주시면 기쁩니다
end의 위치를 puts ~의 뒤로 하고 있었기 때문에, 출력이 실수하고 있었습니다. 조심하자!
참고문헌 Array 클래스
Array#each (Ruby 3.0.0 참조 설명서)
Atcoder Beginners Selection을 Ruby로 풀어 보았다 - Kasasagi's memorandum
[AtCoder]ABC081B - Shift only [Ruby]
Reference
이 문제에 관하여(【At Corder】 【초보자】 ABC081B - Shift only를 Ruby로 풀어 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/nekonoiruheya/items/7f54ce189400a5367d9c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
여기에서 어려워졌습니다. 문제문을 읽은 단계에서는 최소값을 출력한다는 발상은 나오지 않았습니다. 프로그래밍 같다!
처음 sum을 A로 했지만 오류가 발생했습니다. 왜 안 되었습니까? . 아는 분이 계시다면 가르쳐 주시면 기쁩니다
end의 위치를 puts ~의 뒤로 하고 있었기 때문에, 출력이 실수하고 있었습니다. 조심하자!
참고문헌 Array 클래스
Array#each (Ruby 3.0.0 참조 설명서)
Atcoder Beginners Selection을 Ruby로 풀어 보았다 - Kasasagi's memorandum
[AtCoder]ABC081B - Shift only [Ruby]
Reference
이 문제에 관하여(【At Corder】 【초보자】 ABC081B - Shift only를 Ruby로 풀어 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nekonoiruheya/items/7f54ce189400a5367d9c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)