AtCoder에 초보자가 첫 도전

추천된 이 페이지의 문제를 도전해 가고 싶습니다.

거의 초보자이므로 시행 착오 한 모든 것을 얹어 가고 싶습니다.
경기 프로그래밍 1일째!
한 달 차분히 초보자 콘테스트를 클리어할 수 있게 되는 것이 목표입니다!
이번에는 삼문 해 나갈 것입니다.
오늘 (21/04/17) 초보 대회는 팔 시험으로 도전하고 싶습니다.
다음 달에는 얼마나 늘릴지 최선을 다할 것입니다 ·

1문제




이것은 기본적인 문제일 것입니다. 그렇게 말했습니다.
a,b =map(int ,input().split())
#print(a,b)
#掛け算
c =a * b 
if c % 2 == 0:
  print("Even")
else:
  print("Odd")

2문제




솔직하게 하나씩 확인해 갔습니다.
s =input()
counter = 0
if s[0] == str(1):
  counter =+ 1
if s[1] == str(1):
  counter +=1
if s[2] == str(1):
  counter +=1

print(counter)

3문제



문제문
칠판에 N 개의 양의 정수
A, ..., N이 쓰여져 있습니다.

스누케군은, 칠판에 쓰여져 있는 정수가 모두 짝수일 때, 다음의 조작을 실시할 수 있습니다.

칠판에 쓰여진 모든 정수를,
2로 나눈 값으로 바꿉니다.
스누케 너는 최대로 몇 번의 조작을 할 수 있을까를 요구해 주세요
라는 것이었습니다.

자신 안에서는 반복 (리스트의 내용을 모두 2로 나눈다 → 만약 남아 있지 않으면 또 한번, 나머지가 나오면 끝)라는 흐름을 그렸습니다.
막상 보면 뭔가 잘하지 않고 시행 착오했습니다.
나눗셈과 너무 많은 함수를 만들고 거기에 적용하는 느낌으로 해결했습니다.
import math
n = input()
a = list(map(int, input().split()))
count=0
#print(n,a)
def double(n):
  return n / 2
def amari(n):
  return n % 2
data1=[]
data2 =[]
data2 = list(map(amari,a))
#print(data2)
data3=[]
data3=list(map(double,a))
#print(data3)
#print(all(elem % 2 == 0 for elem in a))
#for i in a:
#for i in a だと試行数がa以上のものができなかった(?)
i=0
while i < 8:
#i < 10 にするとREで謎のエラーが出た。
    if all(elem % 2 == 0 for elem in a):
      a=list(map(double,a))
#      print(a)
      count =count + 1
#      print(count)
    else:
      count=count
      break

#print(a)
print(count)

여러가지 시행착오하고 있는 것을 읽을 수 있다고 생각합니다.
1, 2문목과 달리 단번에 어려워졌다고 느꼈습니다.
코드를 작성하는 데 한 시간 정도 걸립니다.

좋은 웹페이지 즐겨찾기