728x90
반응형

분류 전체보기 115

[파이썬, 자바] BOJ_1439(뒤집기)

문제 https://www.acmicpc.net/problem/1439 1439번: 뒤집기 다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모 www.acmicpc.net 해설 이 문제는 예시를 먼저 보면 이해가 쉽다. 앞 문자와 다른 문자의 개수(파란색)가 짝수일 때와 홀수일 때로 나눠 볼 수 있다. 짝수일 때는 파란색 // 2 = 빨간색 개수이지만 홀수일 때는 이게 성립하지 않는다. 그러나 짝수, 홀수 둘 다 (파란색 + 1) // 2 = 빨간색이 성립한다. 결국 문자가 몇 번 바뀌는지 수만 세서 위의 식대로 계산하면 끝난다. 코드 -파이썬 #백준 1439..

알고리즘/백준 2021.01.28

[파이썬, 자바] BOJ_3052(나머지)

문제 https://www.acmicpc.net/problem/3052 3052번: 나머지 각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다. www.acmicpc.net 해설 이 문제는 파이썬으로 푼다면 굉장히 간단하게 풀 수 있는 문제이다. 그저 리스트와 리스트 중 중복된 값을 지워주는 set() 함수만 사용할 줄 알면 된다. 자바는 for each 루프나 for문으로 중복되지 않은 수만 따로 arrayList에 넣어주면 된다. 코드 -파이썬 #백준 3052(나머지) num_list = [] for _ in range(10): num = int(input()) num_list.append(num % 42) num_list = ..

알고리즘/백준 2021.01.27

[파이썬, 자바] BOJ_1783(병든 나이트)

문제 https://www.acmicpc.net/problem/1783 1783번: 병든 나이트 첫째 줄에 체스판의 세로 길이 N와 가로 길이 M이 주어진다. N과 M은 2,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 해설 이 문제는 이해하는데 좀 오래걸렸다.. 이해한 후에는 규칙만 찾으면 쉽게 풀 수 있는 문제였다. 문제를 잘 살펴보면 1. 2칸 위로, 1칸 오른쪽 2. 1칸 위로, 2칸 오른쪽 3. 1칸 아래로, 2칸 오른쪽 4. 2칸 아래로, 1칸 오른쪽 이동 횟수 > 4라면 위의 4가지 이동 방법을 모두 한 번씩 사용해야 함. "방문할 수 있는 칸"에는 가장 처음 밟고 있는 칸도 포함. 이라는 것을 알 수 있다. 위의 내용을 잘 생각하며, 그림을 그려서 경우를 하..

알고리즘/백준 2021.01.27

[파이썬, 자바] BOJ_16435(스네이크버드)

문제 https://www.acmicpc.net/problem/16435 16435번: 스네이크버드 첫 번째 줄에 과일의 개수 N (1 ≤ N ≤ 1,000) 과 스네이크버드의 초기 길이 정수 L (1 ≤ L ≤ 10,000) 이 주어집니다. 두 번째 줄에는 정수 h1, h2, ..., hN (1 ≤ hi ≤ 10,000) 이 주어집니다. www.acmicpc.net 해설 이 문제는 왜 실버5인지 모를만큼 쉬운 문제다. 스네이크버드가 더 이상 먹을 수 있는 과일이 없을때까지 과일을 먹게 만들면 된다. 스네이크버드는 자신보다 작거나 같은 높이에 있는 과일을 먹을 수 있는데, 과일이 주어진 순서대로 먹어야 하는 것은 아니고 그냥 먹을 수 있는 과일을 먹으면 된다. 그렇다면 되도록 가장 낮은 높이에 있는 과일..

알고리즘/백준 2021.01.26

[파이썬, 자바] BOJ_4796(캠핑)

문제 https://www.acmicpc.net/problem/4796 4796번: 캠핑 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, L, P, V를 순서대로 포함하고 있다. 모든 입력 정수는 int범위이다. 마지막 줄에는 0이 3개 주어진다. www.acmicpc.net 해설 문제를 접하고 처음 생각했을 땐, 대체 어떻게 테스트 케이스가 5, 8, 20인데 답이 14가 나오는지 이해가 안됐었다. 강산이의 휴가 기간이 20일이라 8일이 연속되는 날은 2번 밖에 없다고 생각했기 때문이었다. 이게 아니고 한달(30 혹은 31일) 중 8일이 연속되기만 하면 되는거였다. 이제 다시 풀려고 보면 쉬운 문제였다. 테스트 케이스 5, 8, 20을 생각해보면 1 2 3..

알고리즘/백준 2021.01.25

[파이썬] pass 와 continue의 차이

pass - 단순히 다음 코드 진행을 함 continue - 다음 루프를 강제로 돌도록 함 - 예시 코드 for i in range(4): print(i,"번 루프") pass print("pass 테스트 중") print("") for j in range(4): print(j,"번 루프") continue print("continue 테스트 중") - 결과 위의 결과를 보면, pass는 "pass 테스트 중" 이라는 문구가 계속 출력되는 것을 볼 수 있고 continue에서는 한 번도 출력되지 않는 것을 볼 수 있다. 참고 pwnbit.kr/82 python continue와 pass의 차이점 Python에서 continue와 pass의 차이점 우선 continue는 for문, if문 같은 곳에서 사용..

알고리즘 종류

- 그리디 https://www.acmicpc.net/problemset?sort=ac_desc&algo=33 문제 - 1 페이지 www.acmicpc.net - 브루트 포스 www.acmicpc.net/problemset?sort=ac_desc&algo=125 문제 - 1 페이지 www.acmicpc.net - 재귀 www.acmicpc.net/problemset?sort=ac_desc&algo=62 문제 - 1 페이지 www.acmicpc.net - 자료구조 www.acmicpc.net/problemset?sort=ac_desc&algo=175 문제 - 1 페이지 www.acmicpc.net - 그래프 탐색 www.acmicpc.net/problemset?sort=no_asc&algo=11&algo_..

[파이썬, 자바] BOJ_15904(UCPC는 무엇의 약자일까?)

문제 https://www.acmicpc.net/problem/15904 15904번: UCPC는 무엇의 약자일까? 첫 번째 줄에 알파벳 대소문자, 공백으로 구성된 문자열이 주어진다. 문자열의 길이는 최대 1,000자이다. 문자열의 맨 앞과 맨 끝에 공백이 있는 경우는 없고, 공백이 연속해서 2번 이상 주어지는 www.acmicpc.net 해설 입력받은 문자열을 "UCPC"로 축약할 수 있는지 묻는 문제이기 때문에 U, C, P, C를 각각 리스트에 넣어놓고 for문을 돌려서 살펴보면 될 것 같다. 처음엔 해당 문자의 위치를 파악하는 코드 없이 + 반복문의 범위를 word의 길이로 진행했었는데 이렇게 하면 U, C, P, C의 순서가 뒤죽박죽 되고, UCPC로 끝나지 않고 뒤에 U, C, P, C가 또 ..

알고리즘/백준 2021.01.21

[파이썬, 자바] BOJ_1459(걷기)

문제 https://www.acmicpc.net/problem/1459 1459번: 걷기 세준이는 학교에서 집으로 가려고 한다. 도시의 크기는 무한대이고, 도시의 세로 도로는 모든 정수 x좌표마다 있고, 가로 도로는 모든 정수 y좌표마다 있다. 세준이는 현재 (0, 0)에 있다. 그리고 ( www.acmicpc.net 해설 첫번째 풀이 평행 시간(w) * 2와 대각선 시간(s)을 비교를 해서 풀었다. -> (0, 0)에서 (1, 1)까지 처럼 똑같은 곳까지 가는데 걸리는 시간을 판단하기 위해 평행 이동을 했을 때와 대각선 이동을 했을 때를 비교하기 위해서이다. 1) 2 * w = s (대각선이 더 빠를 때) 2 - 1) x + y가 짝수일 때 2 - 2) ..

알고리즘/백준 2021.01.20
728x90
반응형