PS831 [자바] 백준 23970 - 알고리즘 수업 - 버블 정렬 3 (java) 문제 : boj23970 필요 알고리즘 개념 애드 혹 정형화된 방식이 존재하지 않고 이 문제만의 아이디어를 생각해내야 한다. 정렬 기본적인 정렬 방식을 알아야 한다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 당연히 직접 버블정렬을 진행하면서 비교할 시, 버블 정렬이 O(N^2)이고 비교가 O(N)이므로 O(N^3)이 걸리게되어 시간초과가 나게 된다. 내 경우엔 정형화된 방식이 아니고 아이디어를 내서 시간을 줄여 O(N^.. 2022. 8. 26. [자바] 백준 25487 - 단순한 문제 (Large) (java) 문제 : boj25487 필요 알고리즘 개념 수학 (정수론) 나머지 연산에 대한 수학적 지식이 있어야 풀 수 있다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 당연히 그냥 구하려 하면 O(Tabc)라는 엄청난 수치가 나온다. (대략 6x10^15) mod 연산의 성질을 이용해 풀어야 한다. 의식의 흐름은 다음과 같다. 0. (x mod y) = (y mod z) = (z mod x) 에 대해 1. (x mod y) =y .. 2022. 8. 26. [자바] 백준 25498 - 핸들 뭘로 하지 (java) 문제 : boj25498 필요 알고리즘 개념 그리디 알고리즘 각 트리 깊이마다 사전상 마지막에 오는 문자를 택하는 규칙을 세워야 한다. bfs, dfs 트리를 탐색하기 위해 bfs 혹은 dfs를 사용해야 한다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 대회 당시에 규칙은 맞게 세워놓고 구현을 침착하게 안하다보니 엄청 틀렸었다 ㅠ. 어차피 트리이니 사이클이 없고, 루트 노드도 주어졌으므로 루트노드부터 시작해서 리프노드까지.. 2022. 8. 26. [자바] 백준 25497 - 기술 연계마스터 임스 (java) 문제 : boj25497 필요 알고리즘 개념 시뮬레이션(구현) 문제에서 제시된대로 구현을 해주면 된다. 문자열 파싱 문자열의 각 character를 살펴봐야 하므로 문자열을 다룰줄 알아야 한다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 로직을 잘 세워서 문제에 제시된대로 구현해주면 되는 문제이다. 내 경우엔 아래와 같이 변수를 정의했다. cnt : 최종적으로 출력될 기술 시전 횟수 cntL : 현재까지 남은 'L'의 횟.. 2022. 8. 25. [자바] 백준 25496 - 장신구 명장 임스 (java) 문제 : boj25496 필요 알고리즘 개념 그리디 특정 규칙을 정해 매번 해당 규칙을 따라가면 결과가 구해지는 그리디 문제이다. 정렬 정렬 하는 방법을 알아야 풀 수 있다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 백준 자바러의 전설 임스님이 만든 문제이다. 남은 피로도가 200-P가 있고, N개의 정수 Ai가 주어진다. 200-P의 피로도 내에서 가장 많은 Ai 들을 선택하면 된다. 어차피 Ai들마다 별다른 가중치 .. 2022. 8. 25. [자바] 백준 25495 - 에어팟 (java) 문제 : boj25495 필요 알고리즘 개념 시뮬레이션 (구현) 문제에서 제시된 대로 구현만 할 수 있다면 풀 수 있다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 로직을 정리해보면 다음과 같다. 우선 이전 핸드폰 종류(1~9)는 bf 변수에 담아둘 것이다. 그리고 현재 배터리 소모량은 cnt라는 변수로 표현할 것이다. 누적 배터리 소모량은 sum으로 표현한다. 1. bf=0(존재하지 않는 번호), sum=0으로 초기화 .. 2022. 8. 24. [자바] 백준 25494 - 단순한 문제 (Small) (java) 문제 : boj25494 필요 알고리즘 개념 브루트포스 (완전탐색) 모든 경우를 다 살펴보는 브루트포스 문제이다. 나머지 연산 (기본 수학) 나머지 연산이 무엇인지, 사용중인 언어에서 어떻게 계산할 수 있는지 알아야 한다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 각 테스트 케이스마다, a,b,c의 모든 쌍을 확인하더라도 O(60^3) 의 시간복잡도이다. 따라서 모든 테스트케이스라고 해도 O(100*60^3)으로 시간복.. 2022. 8. 23. [자바] 백준 17353(펜윅트리) - 하늘에서 떨어지는 1, 2, ..., R-L+1개의 별 (java) 문제 : boj17353 필요 알고리즘 개념 세그먼트 트리 lazy propagation 또는 펜윅 트리 개념 세그먼트 트리를 통한 lazy propagation 혹은 range update 펜윅 트리를 알고 있어야 풀 수 있다. 또는 기본 펜윅트리로도 풀 수 있다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 1 - 펜윅 트리 range update + range query를 통한 풀이 우선 내가 처음 생각한 풀이부터 작.. 2022. 8. 23. [자바] 백준 10174 - 팰린드롬 (java) 문제 : boj10174 필요 알고리즘 개념 문자열 문자열을 다룰 줄 알아야 한다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 우선 대소문자는 비교를 해선 안되므로, 모두 소문자 혹은 모두 대문자로 변경해주자. (toLowerCase()) 그 후 팰린드롬인지 판단은 다음과 같이 비교해보면 된다. 전체 길이가 n이고, 인덱스가 i=0부터 i=n-1 까지라고 할 때, i를 0부터 n/2까지 증가시키면서 a=i과 b=n-1-i.. 2022. 8. 22. [자바] 백준 25304 - 영수증 (java) 문제 : boj25304 필요 알고리즘 개념 사칙연산 더하기, 곱셈 조건문 계산 결과와 입력으로 주어진 값을 비교해야 한다. ※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다. 풀이 기초적인 입력 연습 문제라고 보면 된다. 주어진 X를 잘 저장해두고, N개의 a*b를 모두 더해준 뒤 X값과 비교해줘서 "Yes", "No"를 출력해주면 된다. 딱히 해설은 필요없고, 입출력을 연습해보자. 코드 : github import java.io.B.. 2022. 8. 21. 이전 1 ··· 34 35 36 37 38 39 40 ··· 84 다음