코드업 기초4-1. 단순 반복문 (3)

Tino-Kim·2022년 2월 8일
0
post-thumbnail

🤪 코드업 기초4-1. 단순 반복문 (3)

📌 단순 반복문

  • 1277번
    인덱스를 구하는 경우에 N//2임을 잘 기억해두기~!
from sys import stdin
N=int(stdin.readline())
even_num=list(map(int, stdin.readline().split()))
print(even_num[0], even_num[N//2], even_num[-1])
  • 1278번
    문자열 함수인 len를 이용해서 몇 자리 수인지 구할 수 있다.
    readline을 이용하는데, 맨 끝에 \n을 제거시키기 위해서 rstrip를 이용했다.
from sys import stdin
n=stdin.readline().rstrip() # 문자열을 그대로 넣어주고, 맨 끝 \n은 제거시켜준다.
print(len(n))
  • 1279번
    홀수인 경우에는 더해주고, 짝수인 경우에는 빼주기.
    💙 기준 값이 되는 변수를 새롭게 0으로 정의하는 것은 정말 많이 쓰이기 때문에, 잘 알아두기~!
from sys import stdin
a,b=map(int, stdin.readline().split())
result=0 # 기준 값이 되는 변수를 새롭게 0으로 정의하기.

for num in range(a, b+1):
    if num%2==1:
        result+=num
    else:
        result-=num

print(result)
  • 1280번
    💚 앞에 + 또는 -를 붙여줘야 하기 때문에, str로 바꾼 뒤에 연산자를 이용했다.
from sys import stdin
a,b=map(int, stdin.readline().split())
result=0

for num in range(a, b+1):
    if num%2==0:
        print('-'+str(num), end='') # 이 코드의 순서는 딱히 상관없음. 
        # 하지만, 줄 바꿈은 없어야 한다.
        result-=num # 결과는 계속 계산시켜주기.
    else:
        print('+'+str(num), end='')
        result+=num

print('='+str(result)) # "=" 표시를 해줘야 하기 때문에, str로 바꾼 뒤 "+" 연산자를 이용하자!
  • 1281번
    print의 순서는 딱히 상관없다. 그저 줄 바꿈만 주의해주면 된다.
    💚 위의 조건과 같지만, 맨 처음에는 +가 붙어도 +를 붙이지 말라는 조건이 있었기 때문에, 맨 앞에 조건을 추가해줬다.
if (num==a)&(num%2==1):
        print(str(num), end='')
        result+=num

그 뒤의 조건에는 elif를 이용해주었다~!

A1.
from sys import stdin
a,b=map(int, stdin.readline().split())
result=0

for num in range(a, b+1):
    if (num==a)&(num%2==1):
        print(str(num), end='')
        result+=num
    elif num%2==0:
        print('-'+str(num), end='')
        result-=num
    elif num%2==1:
        print('+'+str(num), end='')
        result+=num
        
print('='+str(result))

A2.
from sys import stdin
a,b=map(int, stdin.readline().split())
result=0

for num in range(a, b+1):
    if (num==a)&(num%2==1):
        result+=num
        print(str(num), end='')
    elif num%2==0:
        result-=num
        print('-'+str(num), end='')
    elif num%2==1:
        result+=num
        print('+'+str(num), end='')
        
print('='+str(result))
  • 1282번
    😡 해결하지 못했다...
    참고 블로그: 제곱수 만들기
    제곱수 자체를 어떻게 증명해야할지 잘 모르겠다.
import math
n = int(input())
k = 0
for i in range(1, n):
    if math.sqrt(n - i) % 1 == 0:
        k = i
        n = int(math.sqrt(n - 1))
        break

print(k, n)

😀 마무리...

오랜만에 코딩 테스트 문제를 푸니 잘 안 풀렸다... 이제는 진짜 코딩 테스트에 나오는 문제를 슬슬 해결할 수 있어야 하기 때문에, 본격적으로 준비를 해야겠다.

profile
알고리즘과 데이터 과학과 웹 개발을 공부하는 대학생

0개의 댓글