일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 큐
- 스택
- level1
- CSS
- 해시테이블
- 프로토타입
- 백준
- 자료구조
- Next.js
- Til
- 카카오
- vercel
- web
- React
- useState
- 프로그래머스
- mysemester
- 자바스크립트
- REST_API
- UI
- 코드스테이츠
- superstarjypnation
- 생활코딩
- 회고
- redux
- html
- 30daysdowoonchallenge
- 운영체제
- UX
- javascript
- Today
- Total
목록algorithm (54)
데굴데굴
2562번: 최댓값 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어 www.acmicpc.net lst = [] for i in range(9): n = int(input()) lst.append(n) print(max(lst), lst.index(max(lst)) + 1, sep='\n') 최댓값을 찾고 최댓값과 최댓값의 인덱스를 출력하는 문제 숫자가 한 줄에 하나씩 제공되므로 반복문 활용해서 리스트에 하나씩 추가하는 방식으로 했다. 컴퓨터는 인덱스를 0부터 세기 때문에 1도 더해준다.
10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net n = int(input()) lst = list(map(int, input().split())) print("{} {}".format(min(lst), max(lst))) 내장함수 min()과 max()를 활용하면 간단하게 풀 수 있다.
10952번: A+B - 5 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net while True: a, b = map(int, input().split()) if a == 0 and b == 0: break print(a + b) while 반복문을 무한루프로 돌리려면 True로 설정해주면 된다. 입력값이 (0, 0)이면 루프를 중지해야 하니 if문으로 조건도 넣어주기.
10871번: X보다 작은 수 첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000) 둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다. www.acmicpc.net n, x = map(int, input().split()) a = list(map(int, input().split())) for i in a: if i < x: print(i, end=' ') print문에서 값을 나란히 출력하고 싶다면 end를 공백으로 설정해주면 된다. 원래 print(뫄뫄)를 하면 자동으로 값들이 다음 줄에 출력되었는데 end를 공백으로 설정하면 나란히 출력된다.
2439번: 별 찍기 - 2 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오. www.acmicpc.net n = int(input()) for i in range(1, n + 1): stars = "*" * i print(stars.rjust(n)) 문자열에 .rjust()를 적용하면 오른쪽 정렬을 해준다. 파라미터로는 문자의 총 길이를 받아야 한다. 공백으로 채우고 싶다면 그냥 두고, '*'이나 '.'으로 채우고 싶다면 해당 문자를 두 번째 파라미터로 받으면 된다. 예를 들어 문자의 총 길이, 즉 n=5라고 했을 때, 첫 번째 루프에서 좌측 4칸을 공백으로 채우고 나머지 1칸에 값을 출력하여 우측 정렬이 ..
11021번: A+B - 7 각 테스트 케이스마다 "Case #x: "를 출력한 다음, A+B를 출력한다. 테스트 케이스 번호는 1부터 시작한다. www.acmicpc.net t = int(input()) for i in range(1, t + 1): a, b = map(int, input().split()) print("Case #{}: {}".format(i, a + b))
2742번: 기찍 N 자연수 N이 주어졌을 때, N부터 1까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오. www.acmicpc.net n + 1에서 i씩 빼주면 거꾸로 출력함. ex) n=5일 때, 6에서 1, 6에서 2, 6에서 3 이렇게 빼주면 차례대로 5, 4, 3, 2, 1이 출력된다. n = int(input()) for i in range(1, n + 1): print(n + 1 - i)
15552번: 빠른 A+B 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다. www.acmicpc.net 기존의 input이 아닌 sys.stdin.readline을 활용해야 하는 문제이다. 예전에 제출한 답을 봤는데 너무 복잡하게 풀어놨길래 조금 당황했음. 다시 해보니 이렇게 직관적으로 풀 수 있는데 그 때는 왜 리스트까지 동원했을까..? 아무튼 복습하길 잘한 듯. import sys t = int(sys.stdin.readline()) for i in range(1, t + 1): a, b = map(int, sys.stdin.readline().split()) print(a + b)