문제 요약 알고리즘 분류: 문자열 난이도: Bronze5 문제내용: 문자열 맨앞 맨뒤 출력해라 문제풀이 문자열 맨앞 인덱스과 맨뒤 인덱스(길이 - 1)를 문자열 합쳐서 출력하면된다. Code Python for _ in range(int(input())): string = input() print(string[0] + string[-1]) Java import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new Buffe..
문제 요약 알고리즘 분류: 그리디 난이도: Silver3 문제내용: 2번째 줄은 각 도시간의 거리 3번째 줄은 도시별 주우쇼가격이다. 맨 왼쪽에서 출발해서 맨 끝 오른쪽까지 도착하는데 최소한의 비용을 출력해라. 문제풀이 이번문제는 그리디 문제이다. 데이터가 1,000,000,000 이상이고 파이썬이 처리할수 있는 초당 처리할수 연산은 약 천만 정도이다. 그래서 O(n)으로 풀어야 통과가 된다. 그리디에 대한 설명은 아래 사이트에 참조하면된다. https://namu.wiki/w/%EA%B7%B8%EB%A6%AC%EB%94%94%20%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98 그리디 알고리즘 - 나무위키 그리디 알고리즘(욕심쟁이 알고리즘, Greedy Algorithm)이란 "매 선택..
문제 요약 알고리즘 분류: 구간합, 누적합, 수학 난이도: Gold5 문제내용: N × M 보드판에서 K × K 크기인 보드로 잘라서 다시 색칠한다. 최소한의 칠해야 하는 개수를 구해라 사이트 : https://www.acmicpc.net/problem/25682 25682번: 체스판 다시 칠하기 2 첫째 줄에 정수 N, M, K가 주어진다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 문제풀이 이번 문제는 데이터의 개수가 최대 2000 × 2000이고 제한시간이 1초라서 완전 탐색으로 하면 시간이 초과된다. 그래서 2차원 배열 구간합을 응용해야 된다. 구간합에 대한 이론은 아래의 사이트에 참조하면 된다. https://jih..
문제 요약 알고리즘 분류: 문자열 난이도: Bronze5 문제내용: 문자열 거꾸로 출력해라 사이트 주소: https://www.acmicpc.net/problem/8545 8545번: Zadanie próbne Napisz program, który odwraca podane słowo trzyliterowe. www.acmicpc.net 문제풀이 문자열 reverse관련 함수와 문법 사용해서 처리하면 된다. Code Python print(input()[::-1]) Java import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static vo..
문제 요약 알고리즘 분류: 베열, 정렬 난이도: Bronze5 문제내용: 9780921418 뒤에 숫자 3개 추가한다. 각 숫자마다 1, 3 교차로 곱해서 더한 값을 출력해라 사이트 주소: https://www.acmicpc.net/problem/2587 Code Python code = [9, 7, 8, 0, 9, 2, 1, 4, 1, 8] code.extend([int(input()) for _ in range(3)]) s = 0 for i in range(len(code)): s += code[i] * (1, 3)[i % 2] print("The 1-3-sum is", s) Java import java.io.BufferedReader; import java.io.IOException; import..
문제 요약 알고리즘 분류: 베열, 정렬 난이도: Bronze2 문제내용: 5개 정수 배열에 평균값과 중간값을 출력해라 사이트 주소: https://www.acmicpc.net/problem/2587 2587번: 대표값2 어떤 수들이 있을 때, 그 수들을 대표하는 값으로 가장 흔하게 쓰이는 것은 평균이다. 평균은 주어진 모든 수의 합을 수의 개수로 나눈 것이다. 예를 들어 10, 40, 30, 60, 30의 평균은 (10 + 40 + 30 + 60 + www.acmicpc.net 문제풀이 이번 문제는 정렬하는 함수 sort와 sum 함수 사용할 줄 알면된다. 크기 5인 배열 리스트를 선언한다. 배열 정렬한다.(Python: sort, Java: Arrays.sort) sum 함수 사용해서 나누기 5하면 평..
문제 요약 알고리즘 분류: 구간합, 누적합, 수학 난이도: Gold3 문제내용: N개 수와 연속적인 구간의 합이 M인 개수를 구해하 사이트 : https://www.acmicpc.net/problem/10986 10986번: 나머지 합 수 N개 A1, A2, ..., AN이 주어진다. 이때, 연속된 부분 구간의 합이 M으로 나누어 떨어지는 구간의 개수를 구하는 프로그램을 작성하시오. 즉, Ai + ... + Aj (i ≤ j) 의 합이 M으로 나누어 떨어지는 (i, j) www.acmicpc.net 문제풀이 이번문제는 구간합에서 응용한 문제이다. 구간합에 대한 이론은 아래의 사이트에 참조하면 된다. https://jih3508.tistory.com/50 [알고리즘 이론] 구간합, 누적합(prefix su..
문제 요약 알고리즘 분류: 구간합, 누적합, 수학 난이도: Silver1 문제내용: 2차원 배열을 주고 (x1, y1) ~ (x2, y2)의 합을 구해 사이트 : https://www.acmicpc.net/problem/11660 11660번: 구간 합 구하기 5 첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 M개의 줄에는 네 www.acmicpc.net 문제풀이 이번문제는 2차원 배열의 누적합의 기본 문제이다. 누적합, 구간합에 대한 설명은 밑에 사이트에 참조하면된다. 밑에 사이트에 2차원 배열 누적합, 구간합을 이해하고 예제 코드에서 몇개만 ..
- Total
- Today
- Yesterday
- BaekJoon
- 수학
- DP
- 문자열
- Programmerse
- 그리디
- 구현
- DFS
- 파이썬
- BFS
- 자바
- 조합
- java
- 이론
- 백트레킹
- 동적 계획법
- 배열
- 그래프
- 누적합
- Greedy
- LeetCode
- 알고리즘
- 재귀호출
- level2
- JSCODE
- 동적계획법
- 넓이 우선 탐색
- spring-boot
- 백준
- Python
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |