문제

정수 N개로 이루어진 수열 A와 정수 X가 주어진다. 이때, A에서 X보다 작은 수를 모두 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000)

둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다.

출력

X보다 작은 수를 입력받은 순서대로 공백으로 구분해 출력한다. X보다 작은 수는 적어도 하나 존재한다.

 

n, x = map(int,input().split())
print(random.randrange(1,10000)*n)

for i in range(n):
    print(

시발....

n, x = map(int,input().split())
num = list(map(int, input().split()))

for i in range(n):
	if num[i] < x:
    		print(num[i], end= " ")

아 컴파일에러 떳다,,,

'programming' 카테고리의 다른 글

[백준 10871] X보다 작은 수  (0) 2021.08.12
[백준 11022] A + B - 8  (0) 2021.08.11
[백준 11021] A + B - 7  (0) 2021.08.11
[백준 2742] 기찍 N  (0) 2021.08.10
[백준 15552] 빠른 A + B  (0) 2021.08.10

문제

정수 N개로 이루어진 수열 A와 정수 X가 주어진다. 이때, A에서 X보다 작은 수를 모두 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000)

둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다.

출력

X보다 작은 수를 입력받은 순서대로 공백으로 구분해 출력한다. X보다 작은 수는 적어도 하나 존재한다.

 

 

'programming' 카테고리의 다른 글

[백준 10871] X보다 작은 수  (0) 2021.08.13
[백준 11022] A + B - 8  (0) 2021.08.11
[백준 11021] A + B - 7  (0) 2021.08.11
[백준 2742] 기찍 N  (0) 2021.08.10
[백준 15552] 빠른 A + B  (0) 2021.08.10

문제

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 테스트 케이스의 개수 T가 주어진다.

각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)

출력

각 테스트 케이스마다 "Case #x: A + B = C" 형식으로 출력한다. x는 테스트 케이스 번호이고 1부터 시작하며, C는 A+B이다.

 

t = int(input())

for i in range(1,t+1) :
    a,b = map(int, input().split())
    print('Case #'+str(i)+':',a,'+',b,'=',a+b)

성공 !

'programming' 카테고리의 다른 글

[백준 10871] X보다 작은 수  (0) 2021.08.13
[백준 10871] X보다 작은 수  (0) 2021.08.12
[백준 11021] A + B - 7  (0) 2021.08.11
[백준 2742] 기찍 N  (0) 2021.08.10
[백준 15552] 빠른 A + B  (0) 2021.08.10
inp = int(input())
for i in range(inp):
    a,b = map(int,input().split())
    print('Case #',i+1,':',a+b)

내가 쓴 코드

틀렸다고 떳는데 마지막줄에 저렇게 쓰면 기본으로 주어지는 공백 때문에 그런듯

 

T = int(input())

for i in range(1,T+1):
    a,b = map(int, input().split())
    print("Case #"+str(i)+':',a+b)

다른 사람 코드

range 설정을 무조건 input 받은 값을 넣어준다는 강박 없어도 됨

1부터 저렇게 지정해줘도 굳굳한 값이 나옴

 

str(i)는 왜해준거지?

str 값에 int 값을 붙여주면 공백이 들어가나?

 

->> 그리고 위 예제 출력을 보면 ':' 과 a+b 의 합이 떨어져 있으므로 콤마(,)를 사용해 띄어서 출력하도록 했다. 이때 케이스 넘버 i는 정수형이지만 문자형과 같이 붙여서 쓰기 위해 같은 자료형인 str(i) 로 바꿨다.

 

라고한다. 콤마를 사용하면 띄어서 출력된다.

문자형과 같이 붙여서 쓸려면 같은 자료형으로 설정해줘야한다.

아 그리고 +를 쓰면 붙여서 출력된다! ! (같은 자료형일 경우에만)

 

inp = int(input())
for i in range(inp):
    a,b = map(int,input().split())
    print('Case #',str(i+1)+':',a+b)

나는 그냥 이렇게해서 맞음

 

이건 내가 참고할만한 2번째 코드

cases = int(input())

for i in range(cases):
    a,b = map(int, input().split())
    ans = a + b
    print("Case #%s: %s"%(i+1, ans ))

문자열 포맷팅을 사용할수도있다.

 

문자열 포맷팅 C 공부하면서 다시 봐야겠다...

'programming' 카테고리의 다른 글

[백준 10871] X보다 작은 수  (0) 2021.08.12
[백준 11022] A + B - 8  (0) 2021.08.11
[백준 2742] 기찍 N  (0) 2021.08.10
[백준 15552] 빠른 A + B  (0) 2021.08.10
[백준 8393] 합  (0) 2021.08.10

문제

자연수 N이 주어졌을 때, N부터 1까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오.

 

모르겠음... reverse관련 함수가 있었던거같은데

 

inp = int(input())
for i in range(inp, 0, -1):
    print(i)

(Python의 for문 이용 시 range는 첫째 인자로 초기값, 둘째 인자로 종료값, 마지막 인자로 증가값을 적용합니다. 또한 두번째 인자의 경우 값을 포함하지 않기에 필요한 종료값보다 하나 더 크게/작게 적용해야 합니다.)

 

for문의 사용

: range(초기값, 종료값, 증가값)

'programming' 카테고리의 다른 글

[백준 11022] A + B - 8  (0) 2021.08.11
[백준 11021] A + B - 7  (0) 2021.08.11
[백준 15552] 빠른 A + B  (0) 2021.08.10
[백준 8393] 합  (0) 2021.08.10
[백준 python] 14681 사분면 고르기  (0) 2021.07.28
import sys

a = int(input())
for i in range(a) :
    a,b = map(int,input().split())
    print(a+b)

문제

본격적으로 for문 문제를 풀기 전에 주의해야 할 점이 있다. 입출력 방식이 느리면 여러 줄을 입력받거나 출력할 때 시간초과가 날 수 있다는 점이다.

C++을 사용하고 있고 cin/cout을 사용하고자 한다면, cin.tie(NULL)과 sync_with_stdio(false)를 둘 다 적용해 주고, endl 대신 개행문자(\n)를 쓰자. 단, 이렇게 하면 더 이상 scanf/printf/puts/getchar/putchar 등 C의 입출력 방식을 사용하면 안 된다.

Java를 사용하고 있다면, Scanner와 System.out.println 대신 BufferedReader와 BufferedWriter를 사용할 수 있다. BufferedWriter.flush는 맨 마지막에 한 번만 하면 된다.

Python을 사용하고 있다면, input 대신 sys.stdin.readline을 사용할 수 있다. 단, 이때는 맨 끝의 개행문자까지 같이 입력받기 때문에 문자열을 저장하고 싶을 경우 .rstrip()을 추가로 해 주는 것이 좋다.

또한 입력과 출력 스트림은 별개이므로, 테스트케이스를 전부 입력받아서 저장한 뒤 전부 출력할 필요는 없다. 테스트케이스를 하나 받은 뒤 하나 출력해도 된다.

 

 

이 문제는 1초 제한이 있는 문제였다

 

그냥 input 대신 sys.stdin.readline을 사용하는 문제였는데

왜 입출력 속도가 input < sys.stdin.readline 일까

 

https://velog.io/@yeseolee/Python-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EC%9E%85%EB%A0%A5-%EC%A0%95%EB%A6%ACsys.stdin.readline

 

[Python 문법] 파이썬 입력 받기(sys.stdin.readline)

파이썬으로 코딩 테스트를 준비한다면, 반드시 알아야 할 입력방식인 sys.stdin.readline()에 대한 정리 입니다.

velog.io

이걸 참고했구 개행문자까지 같이 입력받는것도 익혀두기!

'programming' 카테고리의 다른 글

[백준 11021] A + B - 7  (0) 2021.08.11
[백준 2742] 기찍 N  (0) 2021.08.10
[백준 8393] 합  (0) 2021.08.10
[백준 python] 14681 사분면 고르기  (0) 2021.07.28
[백준 python] 2753 윤년  (0) 2021.07.28

문제

n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오.

 

a = int(input())
b = 0
c = 0

for i in range(a) :
    c = c+1
    b = b+c

print(b)

미천한 나의 답

 

a = int(input())
sum = 0
for i in range(a+1):
    sum = sum + i
print(sum)

god의 답

 

range안의 값이 i에 계속 대입된다는걸 사용함

멋있는답이다

'programming' 카테고리의 다른 글

[백준 2742] 기찍 N  (0) 2021.08.10
[백준 15552] 빠른 A + B  (0) 2021.08.10
[백준 python] 14681 사분면 고르기  (0) 2021.07.28
[백준 python] 2753 윤년  (0) 2021.07.28
vscode 커맨드 정리  (0) 2021.05.10
x = int(input())
y = int(input())

if (x > 0 and y > 0) :
    print(1)
elif (x < 0 and y > 0) :
    print(2)
elif (x < 0 and y < 0) :
    print(3)
elif (x > 0 and y < 0 ):
    print(4)

이건 나의 코드

 

다른 사람의 코드도 별로 다를게 없었다 !

'programming' 카테고리의 다른 글

[백준 15552] 빠른 A + B  (0) 2021.08.10
[백준 8393] 합  (0) 2021.08.10
[백준 python] 2753 윤년  (0) 2021.07.28
vscode 커맨드 정리  (0) 2021.05.10
컴퓨터 언어를 배울때 가장 중요한 것  (0) 2021.04.15

+ Recent posts