본문 바로가기

스파르타코딩개발일지

TL7일차

백준 파이썬 2562  

9개의서로다른 정수들을 입력받아 가장큰수와 가장큰수의 위치 출력

# b=[]                                           빈 보따리(b) 생성
# for i in range(9):                        0부터 9까지 보따리 에 입력한 값을 넣음
#     b.append(int(input()))
# print(max(b))                              b보따리 에서 max(가장큰값)을 출력
# print(b.index(max(b))+1)           .index를 이용해 b보따리의 위치를 알아냄 +1 을하는 이유는 시작이 1번째자리가아닌                                                           0번째 자리이기떄문이다.

---------------------------------------------------------------------------------------------------------------------------------------------------------

백준 3052 파이썬

a=[]                          #빈 보따리 생성
for i in range(10):      #
    b=int(input())        #b라는 보따리에 10개만큼의 자리를 생성
    a.append(b%42)      # a 라는 빈보따리에 b에 들어간 숫자 % 42 한 값(나머지)를 넣음
a = set(a)                    #set을이용해 보따리안에있는 중복된 값을 전부제거후 한개만 남김
print(len(a))                #len을 이용해 길이를측정 모두같다면 전부 0으로 1출력 한개가다르다면 2출력



--------------------------------------------------------------------------------------------------------------------------------------------------
 
백준 파이썬 1546
평균 구하기.
a= int(input())
for i in range(a):
    b= list(map(int,(input().split())))

    print(sum(b)/max(b)*100)
 
 
내가 작성한 코드
 
내가 작성한경우의 문제는 b리스트안에있는 모든값/제일큰값*100으로 오답이고
문제의경우에는 a,b,c(max) 이렇게있으면 a값과c을 계산한게 a자리 에입력   b와c를 계산한것이 b에
넣은뒤 abc의 평균을 구하는값이다
 
즉,세점수의 평균값을 구하는것이아닌
세점수를 1차 공식을통해 변환 후     
2차적으로 변환된 값의 평균을 구하는 문제.
a = int(input())
b = list(map(int, input().split()))

max_b = max(b)

for i in range(a):                                        i에는a만큼 갯수가 들어간다
    b[i] = b[i]/max_b*100                            b[i]는 b[0~a]/max_b*100 만큼 들어간다
    avg = sum(b)/ a                                    avg에는 b의 총합을 a만큼 나눈 값이  들어간다.
print(avg)                                                  avg값 출력.
 
 
 
정답
 
TIP.계산하기전에는 변수를 정하고 계산하는것이 계산순서에 문제가없다
 
 
첫 과제 계산기만들기.
 
main.py
 
import calculator
a,b=map(float,input().split())
Answer_Plus =calculator.plus(a,b)
Answer_Minus =calculator.minus(a,b)
Answer_Multiply =calculator.multiply(a,b)
Answer_Divide =calculator.divide(a,b)

Answer_Plus_Str=str(Answer_Plus)        #문자열과 같이 출력하기 위해서 float를 str로 형변환
Answer_Minus_Str=str(Answer_Minus)
Answer_Multiply_Str=str(Answer_Multiply)
Answer_Divide_Str=str(Answer_Divide)


print("a+b : " + Answer_Plus_Str)
print("a-b :"+ Answer_Minus_Str)
print("a*b :"+ Answer_Multiply_Str)
print("a/b :"+ Answer_Divide_Str)
# a b 엔터하게되면 더하기,빼기,곱하기,나누기 순서대로 출력


# num1, num2 = map(int, input().split())
# operator = input()

# if operator == '+':
#     result = calculator.plus(num1, num2)
#     print(result)
# elif operator == '-':
#     result = calculator.minus(num1, num2)
#     print(result)
# elif operator == '*':
#     result = calculator.multiply(num1, num2)
#     print(result)
# elif operator == '/':
#     result = calculator.divide(num1, num2)
#     print(result)

calculator.py

def plus(a,b):
    return a+b
def minus(a,b):
    return a-b
def multiply(a,b):
    return a*b
def divide(a,b):
    return a/b

요구조건

  • main.py 파일에서 사용자의 입력을 받아 기능을 처리해주세요
  • 사용자가 입력한 숫자와 연산기호(+, -, *, /)에 따른 연산 결과를 출력해주세요
  • 더하기, 곱하기, 빼기, 나누기 기능을 하는 함수는 main.py가 아닌 다른 파일에서 작성해주세요
  • 사용자의 입력을 받는 방식은 자유롭게 작성하셔도 무관합니다. 다만, 입력받기 전 사용자가 어떤 방식으로 입력해야 하는지 가이드 출력해주세요

요구조건을 전부 다 맞췄지만 다른사람들의 코드가 궁금하다.

--------------------------------------------------------------------------------------------------------------------------------------------------

8958 백준 파이썬

a=int(input())

for i in range(a):
    b= list(input())
    score= 0
    sum_score =0
    for x in b:
        if x =="O":
            score += 1
            sum_score += score
        else:
            score=0
    print(sum_score)

o를 만날때마다 기본1점에 1씩증가 o가아닌것을 만나면 1로 초기화

---------------------------------------------------------------------------------------------------------------------------------------------------------

저녁먹고 두시간동안 문제 복습,복기 + 강의 노션 정독

'스파르타코딩개발일지' 카테고리의 다른 글

TIL8일차  (0) 2022.09.08
TIL7일차.  (0) 2022.09.07
TL6일차  (2) 2022.09.05
TL 5일차  (0) 2022.09.02
자바 파이썬 기초문법 개발일지  (0) 2022.09.02