크네무의 개발상자
close
프로필 배경
프로필 로고

크네무의 개발상자

  • 분류 전체보기 (94)
    • 알고리즘 문제 풀이 (89)
      • 해설 (19)
      • 해결코드 (70)
    • JAVA (3)
    • Python (2)
  • 홈
  • 태그
[백준 - 17425][Gold 4][해설 X] - 약수의 합 (JAVA)

[백준 - 17425][Gold 4][해설 X] - 약수의 합 (JAVA)

문제 링크 https://www.acmicpc.net/problem/17425 문제 두 자연수 A와 B가 있을 때, A = BC를 만족하는 자연수 C를 A의 약수라고 한다. 예를 들어, 2의 약수는 1, 2가 있고, 24의 약수는 1, 2, 3, 4, 6, 8, 12, 24가 있다. 자연수 A의 약수의 합은 A의 모든 약수를 더한 값이고, f(A)로 표현한다. x보다 작거나 같은 모든 자연수 y의 f(y)값을 더한 값은 g(x)로 표현한다. 자연수 N이 주어졌을 때, g(N)을 구해보자. 입력 첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 100,000)가 주어진다. 둘째 줄부터 테스트 케이스가 한 줄에 하나씩 주어지며 자연수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 출력 각각의 테스트 케이..

  • format_list_bulleted 알고리즘 문제 풀이/해결코드
  • · 2024. 3. 25.
  • textsms
[백준 - 2342][Gold 3] - Dance Dance Revolution (JAVA)

[백준 - 2342][Gold 3] - Dance Dance Revolution (JAVA)

문제 링크 https://www.acmicpc.net/problem/2342 문제 승환이는 요즘 "Dance Dance Revolution"이라는 게임에 빠져 살고 있다. 하지만 그의 춤 솜씨를 보면 알 수 있듯이, 그는 DDR을 잘 하지 못한다. 그럼에도 불구하고 그는 살을 뺄 수 있다는 일념으로 DDR을 즐긴다. DDR은 아래의 그림과 같은 모양의 발판이 있고, 주어진 스텝에 맞춰 나가는 게임이다. 발판은 하나의 중점을 기준으로 위, 아래, 왼쪽, 오른쪽으로 연결되어 있다. 편의상 중점을 0, 위를 1, 왼쪽을 2, 아래를 3, 오른쪽을 4라고 정하자. 처음에 게이머는 두 발을 중앙에 모으고 있다.(그림에서 0의 위치) 그리고 게임이 시작하면, 지시에 따라 왼쪽 또는 오른쪽 발을 움직인다. 하지만 그..

  • format_list_bulleted 알고리즘 문제 풀이/해설
  • · 2024. 3. 4.
  • textsms
Integer.valueOf VS Integer.parseInt

Integer.valueOf VS Integer.parseInt

들어가기전에 int형으로 바꿔주는게 valueOf말고 parseInt가 또 있네?? 알고리즘 문제를 풀다보면 문자열을 숫자로 바꿔야 하는 일이 정말 많다. 특히 입력 값을 받을 때 숫자로 받아야 하는 일이 대부분인데 나는 보통 Integer.valueOf를 위주로 사용했다. 문자열로 바꿀 때 String.valueOf를 사용했는데 Integer도 똑같이 있는 것을 발견하고 그 이후로는 그대로 valueOf를 사용하면서 문제를 풀었다. 하지만 알고리즘 문제를 풀면서 다른사람의 코드를 비교하는데 어떤사람은 Integer.parseInt로 어떤사람은 Integer.valueOf로 사용하고 있다는 것을 발견했다. 문자열을 숫자로 바꾸는 메소드가 2개나 있다는 것이다! 왜 둘다 숫자로 바꿔주는 역할은 같은데 메소..

  • format_list_bulleted JAVA
  • · 2024. 2. 13.
  • textsms
최대공약수, 최소공배수를 JAVA로 구해보자(유클리드 호제법, BigInteger)

최대공약수, 최소공배수를 JAVA로 구해보자(유클리드 호제법, BigInteger)

들어가기 전에 코딩테스트 문제를 풀다보면 종종 최대공약수 혹은 최대공배수를 구할 때가 있다. 가장 대표적인 문제가 아래에 있는 최소공배수문제이다. https://www.acmicpc.net/problem/13241 13241번: 최소공배수 정수 B에 0보다 큰 정수인 N을 곱해 정수 A를 만들 수 있다면, A는 B의 배수이다. 예: 10은 5의 배수이다 (5*2 = 10) 10은 10의 배수이다(10*1 = 10) 6은 1의 배수이다(1*6 = 6) 20은 1, 2, 4,5,10,20의 배수이다. 다 www.acmicpc.net 이럴때 어떤 알고리즘을 사용해야하는지, 그리고 간단하게 해결할 수는 없는지 알아보도록 하자. 개념을 알아보자 약수란?? 약수란 어느 한 숫자를 0을 제외한 다른 숫자로 나누었을 ..

  • format_list_bulleted JAVA
  • · 2024. 2. 11.
  • textsms
LinkedList vs ArrayDeque 효율성 비교(with Deque)

LinkedList vs ArrayDeque 효율성 비교(with Deque)

아니 LinkedList로는 안풀리는데 ArrayDeque로는 풀린다고?? 오늘는 쉬면서 알고리즘 문제를 풀고싶어서 간단해보이는 실버 3문제인 풍선 터뜨리기 문제를 풀어보았다. https://www.acmicpc.net/problem/2346 2346번: 풍선 터뜨리기 1번부터 N번까지 N개의 풍선이 원형으로 놓여 있고. i번 풍선의 오른쪽에는 i+1번 풍선이 있고, 왼쪽에는 i-1번 풍선이 있다. 단, 1번 풍선의 왼쪽에 N번 풍선이 있고, N번 풍선의 오른쪽에 1번 풍선 www.acmicpc.net 간단히 요약하자면 위의 문제는 Deque를 사용하면 되는 구현 문제였다. 그래서 Deque를 사용해서 문제를 해결하고자 했고 제출한 코드 다음과 같다. import java.io.BufferedReader..

  • format_list_bulleted JAVA
  • · 2024. 2. 10.
  • textsms
  • navigate_before
  • 1
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (94)
    • 알고리즘 문제 풀이 (89)
      • 해설 (19)
      • 해결코드 (70)
    • JAVA (3)
    • Python (2)
최근 글
인기 글
최근 댓글
태그
  • #실버
  • #BFS
  • #dp
  • #구현
  • #골드
  • #누적합
  • #알고리즘
  • #그리디
  • #코딩테스트
  • #백준
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바