-
[Java] BOJ 11561 징검다리개발자 취업/코딩테스트 준비 2023. 7. 2. 13:58반응형
11561번: 징검다리
각 테스트 케이스마다 한 줄에 승택이가 밟을 수 있는 최대 징검다리 수를 출력한다.
www.acmicpc.net
정답 코드
- 1+2+3+...+s + α = N (1~s는 1씩증가하는 연속된 숫자, α는 s보다 큰 수)
- ex) 9(N) = 1+2(s)+6(α)
- 위 수식 활용해서 해결
import java.io.*; import java.util.*; public class Main { static BufferedReader br; static BufferedWriter bw; static StringTokenizer st; static int T; public static void main(String[] args) throws IOException { br = new BufferedReader(new InputStreamReader(System.in)); bw = new BufferedWriter(new OutputStreamWriter(System.out)); T = Integer.parseInt(br.readLine()); for (int i = 0; i < T; i++) { long N = Long.parseLong((br.readLine())); long x = (long) ( (-1 + Math.sqrt(1 + 8 * N) ) / 2); bw.write(Long.toString(x)); bw.write("\n"); } bw.flush(); } }
'개발자 취업 > 코딩테스트 준비' 카테고리의 다른 글
[Java] BOJ 4929 수열 걷기 (0) 2023.07.28 [토스 NEXT] 2022년 코딩테스트 Server 기출문제 풀기 (0) 2023.07.04 [Java] BOJ 11048 이동하기 (1) 2023.06.18 [Java] BOJ 27964 콰트로치즈피자 (0) 2023.06.14 [Java] BOJ 20157 화살을 쏘자! (0) 2023.06.13