# data[].attributes.attachment_link.title
24 인공지능기초(온공)_수업기록

# data[].attributes.headline
파이썬 입출력 기초안내

# data[].attributes.subject
파이썬 입출력 기초안내

# data[].attributes.body
n 번째 까지 숫자의 합을 구하는 코드.

선생님께서는

sum=0

for i in range(n+1):

sum=sum+i

로 sum 을 이용한 코딩을 하셨지만

수학1 에서 배운 시그마 공식을 print에 대입해 풀어봄.

# data[].attributes.body
코드 리뷰 : 점수의 기준에 따라 다른 학점을 부과하기 위한 조건문을 사용함. 하나의 점수는 반드시 한개의 학점으로 변환되므로 if 문을 계속 쓰지 않고 if_ elif 문을 사용함. 마지막 나머지 점수를 모두 else 문으로 'F'로 출력함.

# data[].attributes.body
n 번째 숫자 까지 쌓아올리는 코드임. 선생님께서는

sum=0

for i in range(n+1):

sum=sum+i

의 코드를 사용해셨지만

수학1에서 배운 n에 대한 시그마 공식을 print에 대입해서 코드를 짜봄

# data[].attributes.attachment_caption
이를 이용해서 파매금액을 코딩하고 이를 총 내가 산 금액을 구할수있게되었다

# data[].attributes.body
# 총 금액 입력
total_price = int(input())

# 물건의 종류 수 입력
num_items = int(input())

# 총 금액 초기화
calculated_total = 0

# 물건 정보 입력 및 총 금액 계산
for _ in range(num_items):
  price, quantity = map(int, input().split())
  calculated_total += price * quantity

# 판단 및 출력
if total_price == calculated_total:
  print("Yes")
else:
  print("No")

# data[].attributes.body
코드 리뷰 : 브론즈 3인 2884, 2525가 훨신 쉬웠다.

a,b,c=map(int,input().split());print(a*1000+10000)if(a==b==c)else print(a*100+1000)if(a==b)|(a==c)else print(b*100+1000)if(b==c)else print(max(a, b, c)*100)

# data[].attributes.headline
이제 연산문제는 처음보다 잘 풀리는거 같

# data[].attributes.body
이제 연산문제는 처음보다 잘 풀리는거 같아서 뭔가 흥미를 느꼈다

# data[].attributes.body
주어진 문자 뒤에 ?!!를 붙여서 출력하는 문제

# data[].attributes.body
두 정수 A와 B가 주어졌을 때 두수를 비교하는 문제 A가 B보다 큰 경우에는 '>'를 출력하고

A가 B보다 작은 경우에는 '<'를 A와 B가 같은 경우에는 '=='를 출력한다.

# data[].attributes.headline
입출력과 사칙연산, 조건문 컷

# data[].attributes.subject
입출력과 사칙연산, 조건문 컷

# data[].attributes.body
코드리뷰: 두 수에 대해서 기준을 세우고 사칙연산에 맞는 기호를 적용시킨다.(나눗셈을 구분하지 못해서 몫을 구하지 못해서 시간이 오래 걸렸다)

# data[].attributes.attachment_caption
저는 def라는 코드 사용법과 연산 방법도 알았습니다

# data[].attributes.body
def main():
  # 테스트 케이스 개수 입력
  t = int(input())

  # 각 테스트 케이스 처리
  for i in range(1, t + 1):
    # 두 정수 입력
    a, b = map(int, input().split())

    # A+B 계산 및 출력
    print(f"Case #{i}: {a + b}")

if __name__ == "__main__":
  main()

# data[].attributes.body
dep~~~로 주사위로 던져서 나온 눈을 받아서 계산

1에서 6까지의 숫자를 각각의 눈이 몇 번 나왔는지 세어야 한다. 이를 위해 counts라는 리스트를 만들어서 각 눈의 개수를 저장

각 눈에 따라 상금 계산

주사위 눈을 입력한 후 계산해서 출력

# data[].attributes.body
문제는 사용자의 입력값을 받아온 뒤에 '??!'의 일정한 문자를 더해주면 되는 것으로, str = input() 이런식으로 입력값을 저장해뒀다가 str + "??!" )

이렇게 더해주면 해결이 간단하게 된다

# data[].attributes.body
코드 리뷰 : 개인적으로 sum 사용하는 문제가 제일 재밌다. 그래서 그런지 어렵지 않게 풀 수 있었다.

# data[].attributes.body
코드 리뷰 : 문제에 답이 나와있었다. 수학처럼 문제만 잘 읽으면 답이 도출될 수 있다.

# data[].attributes.body
a,b = map(int, input().split())

print(a+b)

print(a-b)

print(a*b)

print(a//b)

print(a%b)

# data[].attributes.body
코드리뷰: 먼저, 시간을 '시'와 '분'으로 구분하는 과정을 진행하였고, '분'의 경우 45분을 빼는 과정을 하였고, 이때 시간을 조정하였다.

# data[].attributes.body
불기 연도를 입력받아 서기 연도로 출력하는 문제

불기 연도와 서기 연도가 543년 차이난다는 사실을 찾아서 알게된 후에 계산해준다

# data[].attributes.body
코드 리뷰 : 처음에 리스트 한 개로 모든것을 해결하려 했으나, 이해할 수 없는 에러로 정상적인 방식으로 풀이하였다.

# data[].attributes.body
N*1부터 N*10까지 출력한다.

# data[].attributes.body
만약은 if로 두고 나머지는 else로 두고 처음 조건 말고 다른 조건들은 모두 elif로 두고 조건을 입력하고 얻고자하는 값을 얻었다

# data[].attributes.body
cnt에 정수의 개수를 입력 받고, numbers에 정수를 입력받는다. input().split()을 이용하여 공백으로 구분한다.

max와 min에 각 각 numbers의 첫번째 요소를 넣어준다.

for문에서 numbers의 2번째 요소부터 마지막 요소까지 차례로 비교해준다.

max보다 크면, max값을 바꿔주고

min보다 작으면, min값을 바꿔준다.

print()로 최댓값, 최솟값을 출력한다.

# data[].attributes.body
N = int(input())

numbers = list(map(int, input().split()))

min_value = min(numbers)

max_value = max(numbers)

print(min_value, max_value)

# data[].attributes.headline
list 항목에서 최소값은

# data[].attributes.body
list 항목에서 최소값은 min, 최대값은 max 를 사용하면 된다는것을 알았다

# data[].attributes.body
사실 할 줄 몰라서 네이버에 검색했습니다.

이 코드에서는 sys.stdin.read()를 호출한 후 split() 메서드를 사용하여 입력을 처리합니다. 이렇게 하면 테스트 환경에서 더 쉽게 입력을 제공하고 테스트할 수 있습니다.

라고 합니다.

# data[].attributes.headline
우선 입력받는 숫자는 문자열로 입력되기 

# data[].attributes.body
우선 입력받는 숫자는 문자열로 입력되기 때문에 int 함수를 이용해서 정수로 변환하여 변수에 선언한다. 시험 점수이기 때문에 변수 이름은 score로 정해보았다. 시험 점수에 따른 등급은 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F이다. 이때 A ~ D등급까지는 각 조건이 True인 경우에 그에 해당하는 값을 출력한다. 이 때는 if 조건식과 여러 개의 elif 조건식으로 코드를 작성할 수 있다. F등급은 위 조건이 모두 False인 경우에 출력하기 때문에 else 조건식에 해당하는 문장을 작성한다.

# data[].attributes.body
(민규가 비효율적이라고 뭐라 했지만) 한 번에 입력받아서 한 번에 출력하는 모습을 보고 싶어서 리스트를 활용하여 풀어보았습니다.

# data[].attributes.body
코드리뷰: 이 문제를 풀기 위해서는 max와 min의 함수를 이용해야 한다. 그래서, 정수의 값을 정의하고, 집합의 범위를 정의하였다. 그리고, 마지막에 최댓값을 나타내기 위해 max함수를, 최솟값을 나타내기 위해 min함수를 이용하였다.

# data[].attributes.body
+얘가 더하기 -빼기 *곱하기 %나누기 입니다. 간단한 문제쥬잉~ 근데 틀렸다고 나와있어서 다시 해봤습니다.

# data[].attributes.body
X보다 작은 수를 입력 받은 순서대로 공백으로 구분해 출력한다

# data[].attributes.headline
map괴 int에 대한 이해도가 올라갔고

# data[].attributes.body
map괴 int에 대한 이해도가 올라갔고 list나 split 등을 사용할수 있게 도ㅣ었다.

# data[].attributes.body
N, M = map(int, input().split())

baskets = list(range(1, N + 1))

for _ in range(M):
    i, j = map(int, input().split())
    baskets[i-1:j] = reversed(baskets[i-1:j])

print(' '.join(map(str, baskets)))

# data[].attributes.headline
물건의 가격과 물건의 개수

# data[].attributes.body
물건의 가격과 물건의 개수를 곱한 후 그 곱한 값이 전체 가격과 똑같은지 확인한다.

같다면 Yes를 출력하고 다르다면 No를 출력한다를 알게되었다

# data[].attributes.body
코드 리뷰: 점수마다 범위를 나눠 출력하는거 같아 하기는 쉬웠다

# data[].attributes.headline
일단 변수가 두개 이기에 map을 사용해

# data[].attributes.body
일단 변수가 두개 이기에 map을 사용해 나누어 주었고 int로 정수로 설정 후 input으로 문자열을 받아주고 스플릿으로 나누고 곱하기 문자인*로 곱해주었음

# data[].attributes.body
n 값을 정의해서 아래로 갈수록 별이 +1이 되도록 코딩해야 한다.

# data[].attributes.headline
문제에서 구분해 준 3개의 조건을 프로그

# data[].attributes.body
문제에서 구분해 준 3개의 조건을 프로그래밍 언어로 옮겨적기만 하면 됩니다.

이 중, elif문으로 쓴 두 조건에 대해서만 짧게 설명드리겠습니다.

이 두 조건은 위의 2번 조건을 구현한 것입니다. 2개의 눈이 같으면 해당 눈이 계산에 필요하게되므로, 어떤 눈이 같은 눈이 있는지 파악이 필요합니다.

a b or b c 인 경우 무조건 b는 같은 눈입니다. 이를 바로 사용하면 되고, 주사위 세개를 던졌을 때, b가 같은 눈이 아닌 경우 단 한가지인 a == c만 따로 한번 더 고려해주면 됩니다.

a b or b c or a == c라고 쓸 수도 있었겠지만, 이렇게 되면 어떤 눈이 같은 눈인지를 한번 더 고려해야 한다.

# data[].attributes.body
원래 제공된 코드는 문제를 해결하는데 충분하며, 간결하고 이해하기 쉬웠습니다. 추가적인 최적화를 통해 메모리 사용량을 줄일 수 있지만, 이는 문제의 요구사항과 입력 크기에 따라 필요에 따라 적용할 수 있습니다.

# data[].attributes.body
max_num 변수를 최댓값을 저장하기 위해 선언합니다.

max_index 변수를 최댓값이 몇 번째 수인지를 저장하기 위해 선언합니다.

max_num 변수를 첫 번째 입력값으로 초기화합니다.

max_index 변수를 1로 초기화합니다.

2번째부터 9번째까지 입력값을 순서대로 읽습니다.

현재 읽은 값이 max_num보다 크면:

max_num 변수를 현재 읽은 값으로 갱신합니다.

max_index 변수를 현재 읽은 값의 순서(3번째, 4번째, ...)로 갱신합니다.

max_num과 max_index 변수의 값을 출력합니다.

# data[].attributes.body
코드리뷰: 범위를 설정하고, long라는 단어를 입력하면 된다. 이때, 가로로 배열되므로, 코드 뒤에 end=" " 표현을 이용하여 가로로 배열하도록 하였다.

# data[].attributes.body
괄호를 사용하며 계산 시 오류가 발생하지 않도록 했다.

# data[].attributes.body
코드 리뷰 : 우리가 계속해서 쓰고 있는 for문을 사용해서 input함수를 통해 입력 받는다면 속도가 훨씬 느려지는데 input()보다는sys.stdin.readline()가 입력 속도가 훨씬 빠르기에 시간 제한이 있다면 sys함수를 쓰는게 좋을 듯하다.

# data[].attributes.body
m개의 리스트에서 n번 반복하여 리스트를 스왑하는 문제를 받았다. 먼저 코드를 간결화 하기 위해 더미 데이터를 넣어 인덱스를 한 칸 밀어주어 계산을 편이하게 하였고, 리스트를 스왑하여 더미 데이터를 뺸 다머지 데이터를 출력했다.

# data[].attributes.body
조건대로 만들었다.

30명의 학생 중 2명이 제출하지 않아 인덱스를 한칸 밀어 사람이 세는 방식으로 1~30인 리스트를 만들었고, 리스트에서 과제를 제출한 학생의 번호를 받아와 인수를 삭제하여 남은 두 인수를 차례대로 출력하였다.

# data[].attributes.body
변수 time을 이용하였고, 나눗셈의 몫은 //로 나눗셈의 나머지는 %를 사용하였다. 먼저 변수를 선언하여 시간 a와 분 b를 입력했다. 조리시간이 60분을 넘어갈 경우 계산이 쉽도록 시간, 분 단위로 나눠줬다. 그리고 시작시간에 조리시간을 더해준 후 조건문 if를 사용하여 b가 60분이 넘어갈 경우 시간은 1을 더하고 분은 60을 빼준다. 또한 시간에 1을 더하다가 24시를 넘어갈 경우 0시부터 리셋을 해야하기에 시간에서도 24를 빼준다. 그리고 b가 60보다 작을 경우에도 시간이 24시가 넘을 수 있기에 24를 빼주도록 코드를 짰다. 마지막으로 시 분을 공백에 사이를 두고 출력하기 위해 print(a, b)를 사용한다.

# data[].attributes.body
1.n=int(input())

2.print(n*(n+1)//2)

# data[].attributes.body
시, 분, 필요한 시간을 받은 후, 필요한 시간을 60으로 남은 나머지, 몫을 시, 분에 더해주는것!
그리고서 분이 60보다 커지면 시에 +1, 분에 -60
시가 24보다 커질경우 시-24를 해주는 방식이다.

푸는데 힘들었다.

# data[].attributes.headline
for 문을 이용해서 간단하게 해결하는 

# data[].attributes.body
for 문을 이용해서 간단하게 해결하는 방법을 알았다

# data[].attributes.body
n은 4의 배수로 입력받기 때문에 몫만큼 long을 반복해서 출력해주고 마지막에 int만 붙이면 된다.

처음에

n = int(input())

print(n//4 * "long" + ' '+"int")

이렇게 썼는데 long과 int사이에 공백이 있어야 하는데 long끼리 공백이 없다.
따라서 반복문을 이용하도록 수정해야 한다고 배웠다.

# data[].attributes.body
점수를 입력받아 등급을 출력함.

1.사용자로부터 점수를 입력받습니다.

2.점수를 등급으로 변환하는 grade_converter 함수를 정의함.

3.변환된 등급을 출력함.

# data[].attributes.body
점수를 입력받아 등급으로 변환하는 과정을 거침

1.사용자로부터 점수를 입력받음

2.점수를 등급으로 변환하는 grade_converter 함수를 정의함.

3.변환된 등급을 출력함

각각의 점수대의 조건을 else, elif, if 함수를 사용함

# data[].attributes.headline
제 말이 들리나요 (단순반복)

# data[].attributes.subject
제 말이 들리나요 (단순반복)

# data[].attributes.body
1.사용자로부터 반복 횟수를 입력받음.

2.for문을 사용하여 입력받은 횟수만큼 "Are You Receiving Me?"라는 문장을 출력.

range 함수에 대한 이해를 도와줌

# data[].attributes.headline
변수를 선언 후 변수를 map으로 두개로

# data[].attributes.body
변수를 선언 후 변수를 map으로 두개로 하고 썸을 사용해 더해줬다