이 영역을 누르면 첫 페이지로 이동
Stranger's LAB 블로그의 첫 페이지로 이동

Stranger's LAB

페이지 맨 위로 올라가기

Stranger's LAB

프로그래밍과 관련하여 다양한 알고리즘 문제를 풀어보고, 프로그래밍 언어를 이해해 볼 수 있도록 돕고자 만든 블로그 입니다.

java

  • Stranger's LAB
자바 [JAVA] - ArrayList (어레이리스트) 구현하기

자바 [JAVA] - ArrayList (어레이리스트) 구현하기

2020.10.29
자료구조 관련 목록 링크 펼치기 더보기 0. 자바 컬렉션 프레임워크 (Java Collections Framework) 1. 리스트 인터페이스 (List Interface) 2. 어레이리스트 (ArrayList) - [현재 페이지] 3. 단일 연결리스트 (Singly LinkedList) 4. 이중 연결리스트 (Doubly LinkedList) 5. 스택 인터페이스 (Stack Interface) 6. 스택 (Stack) 7. 큐 인터페이스 (Queue Interface) 8. 배열 큐 (Array Queue) 9. 연결리스트 큐 (LinkedList Queue) 10. 배열 덱 (Array Deque) 11. 연결리스트 덱 (LinkedList Deque) 12. 힙 (Heap) 13. 우선순위 큐 (..
[백준] 11050번 : 이항 계수 1 - JAVA [자바]

[백준] 11050번 : 이항 계수 1 - JAVA [자바]

2020.10.27
www.acmicpc.net/problem/11050 11050번: 이항 계수 1 첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\)) www.acmicpc.net 문제 알고리즘 [접근 방법] 이항 계수(Binomial coefficient) 문제 자체는 매우매우 쉽다. 지금은 배우는지는 모르겠지만 고교과정에서 조합을 배웠다면 쉽게 풀었을 것이다. en.wikipedia.org/wiki/Binomial_coefficient Binomial coefficient - Wikipedia The binomial coefficients can be arranged to form Pascal's triangle, in which each entry is th..
[백준] 3036번 : 링 - JAVA [자바]

[백준] 3036번 : 링 - JAVA [자바]

2020.10.23
www.acmicpc.net/problem/3036 3036번: 링 출력은 총 N-1줄을 해야 한다. 첫 번째 링을 제외한 각각의 링에 대해서, 첫 번째 링을 한 바퀴 돌리면 그 링은 몇 바퀴 도는지 기약 분수 형태 A/B로 출력한다. www.acmicpc.net 문제 알고리즘 [접근 방법] 음.. 달리 설명 할 필요가 없는 문제다. 위 예제를 보면 첫 번째 링의 반지름이 12이고, 이 링이 한 바퀴 돌 때 나머지 링이 몇 바퀴가 도는지를 '기약 분수'로 출력하는 문제다. 어? 그러면 둘레를 구해야 하나? 라고 생각해서 둘레로 구하는 경우도 봤는데, 모든 도형이 모두 원이기 때문에 둘레를 구할 필요가 없다. 왜 그런지 감이 안온다면 위 예제를 갖고 한 번 적용해보자. 첫 번째 링의 둘레 : R1 = 2π..
[백준] 2981번 : 검문 - JAVA [자바]

[백준] 2981번 : 검문 - JAVA [자바]

2020.10.22
www.acmicpc.net/problem/2981 2981번: 검문 트럭을 타고 이동하던 상근이는 경찰의 검문을 받게 되었다. 경찰은 상근이가 운반하던 화물을 하나하나 모두 확인할 것이기 때문에, 검문하는데 엄청나게 오랜 시간이 걸린다. 상근이는 시간 www.acmicpc.net 문제 생각보다 정답비율이 엄청 낮은 문제다.. 필자도 작성과정에 실수한 것이 있어서 한 번 틀렸다만, 진짜 쉽게 풀 수 있는 문제다. 알고리즘 [접근 방법] 이 문제를 풀이하기 전에 먼저 최대공약수를 어떻게 풀이하는지, '유클리드 호제법'이 무엇인지를 알아야 할 필요가 있다. 한 번 아래의 포스팅 글을 보고 오면 좋을 것 같다. 최대공약수 알고리즘 [백준] 2609번 : 최대공약수와 최소공배수 - JAVA [자바] www.ac..
[백준] 2609번 : 최대공약수와 최소공배수 - JAVA [자바]

[백준] 2609번 : 최대공약수와 최소공배수 - JAVA [자바]

2020.10.20
www.acmicpc.net/problem/2609 2609번: 최대공약수와 최소공배수 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. www.acmicpc.net 문제 알고리즘 [접근 방법] 아마 알고리즘을 많이 접해본 사람들은 GCD를 사용하여 풀었거나 한 번쯤은 들어봤을 것이다. 일단 간단한 알고리즘 코드로 보자면 이렇다. [GCD] // 반복문 방식 int gcd(int a, int b) { while(b != 0) { int r = a % b; a = b; b = r; } return a; } // 재귀 방식 int gcd(int a, int b) { if(b == 0) return a; return gcd(b, a % b); }..
자바 [JAVA] - 제네릭(Generic)의 이해

자바 [JAVA] - 제네릭(Generic)의 이해

2020.10.19
정적언어(C, C++, C#, Java)을 다뤄보신 분이라면 제네릭(Generic)에 대해 잘 알지는 못하더라도 한 번쯤은 들어봤을 것이다. 특히 자료구조 같이 구조체를 직접 만들어 사용할 때 많이 쓰이기도 하고 매우 유용하기도 하다. 잠깐 그럼 제네릭(Generic)이란 무엇인지에 대해 알고 가보도록 하자. 제네릭(Generic)은 직역하자면 '일반적인'이라는 뜻이다. 음.. 한 번에 이해가 가진 않는다. 조금 더 부연설명을 하자면 '데이터 형식에 의존하지 않고, 하나의 값이 여러 다른 데이터 타입들을 가질 수 있도록 하는 방법'이다. 우리가 흔히 쓰는 ArrayList, LinkedList 등을 생성할 때 어떻게 쓰는가? 객체 객체명 = new 객체(); 이렇게 쓰지 않는가? 즉, 아래와 같이 여러 ..
[백준] 11653번 : 소인수분해 - JAVA [자바]

[백준] 11653번 : 소인수분해 - JAVA [자바]

2020.10.18
www.acmicpc.net/problem/11653 11653번: 소인수분해 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. www.acmicpc.net 문제 소인수 분해 문제다. 찾아보니 중학교 교과과정에서 배운다고 하니 아마 다들 쉽게 풀 수 있을 듯 하다. 알고리즘 [접근 방법] 소인수분해 문제 자체는 어렵지 않으니 잠깐 소인수분해에 대해 알아보면 좋을 것 같다. 소인수분해가 어릴 때 부터 배우면서 약수와 배수를 구하기 위해 쓰이면서 자연스럽게 많이 쓰기 때문에 어떤 것인지는 대강 알고있으나 정확한 정의나 왜 소인수분해인지는 모르고 가는 경우가 많다. 사실 수학용어를 번역하면서 한자 뜻을 빌려와 쓰기 때문에 그렇기도 하다. 오히려 영어 뜻을 그대로 번역하는게 이해하기 쉬울 때..
[백준] 1037번 : 약수 - JAVA [자바]

[백준] 1037번 : 약수 - JAVA [자바]

2020.10.15
www.acmicpc.net/problem/1037 1037번: 약수 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되� www.acmicpc.net 문제 알고리즘 [접근 방법] 이 문제는 그리 어렵지 않은 문제지만, 한가지 주의해야 할 점이 있다. "최소공배수로 구하면 틀린다." 이유는 문제에서 보면 이렇게 쓰여 있다. "어떤 수 N의 진짜 약수가 모두 주어질 때" 이 부분 때문에 단순히 최소공배수로 구하면 오답이 된다. 예로 들어보자. N = 30 이라고 가정하면 입력은 다음과 같이 들어올 것이다. 2, 3, 5, 6, 10, 15 그 외의 입력..
[백준] 5086번 : 배수와 약수 - JAVA [자바]

[백준] 5086번 : 배수와 약수 - JAVA [자바]

2020.10.14
www.acmicpc.net/problem/5086 5086번: 배수와 약수 각 테스트 케이스마다 첫 번째 숫자가 두 번째 숫자의 약수라면 factor를, 배수라면 multiple을, 둘 다 아니라면 neither를 출력한다. www.acmicpc.net 문제 수학 3 카테고리의 첫 문제다! 알고리즘 [접근 방법] 이번 문제는 워낙 쉬운 문제라 크게 설명 할 것이 없다. 두 수가 주어질 때 다음 조건 아래 만족하는 것에 따라 출력을 해주면 된다. 1. 첫 번째 수가 두 번째 수의 약수일 때 (= 두 번째 수가 첫 번째 수의 배수일 때) 2. 첫 번째 수가 두 번째 수의 배수일 때 (= 두 번째 수가 첫 번째 수의 약수일 때) 3. 첫 번째 수와 두 번째 수가 서로 약수와 배수의 관계가 아닐 때 // 첫 ..
[백준] 1541번 : 잃어버린 괄호 - JAVA [자바]

[백준] 1541번 : 잃어버린 괄호 - JAVA [자바]

2020.10.08
www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 문제 이 번 문제 또한 그리 어렵지 않게 풀 수 있는 문제다. 문제만 잘 이해한다면 금방 이해할 수 있을 것이다. 알고리즘 [접근 방법] 위 문제에서 주어지는 예제는 다음과 같다. 55-50+40 그럼 여러분들은 아주 쉽게 괄호를 쳐서 '최솟값'을 다음과 같이 만들 수 있다. 55-(50+40) 그럼 정답은 -35가 된다. 다른 예시들을 보자. 30-70-20+40-10+100+30-35 가 있다고 생각해..
  • 최신
    • 1
    • ···
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • ···
    • 21
  • 다음

정보

Stranger's LAB 블로그의 첫 페이지로 이동

Stranger's LAB

  • Stranger's LAB의 첫 페이지로 이동

검색

나의 외부 링크

  • st-github

공지사항

  • 공지 - 블로그 사용 설명서

메뉴

  • 홈
  • 방명록

카테고리

  • 전체 카테고리 (267)
    • Java (5)
    • JAVA - 백준 [BAEK JOON] (177)
      • 입출력과 사칙연산 (14)
      • 조건문 (7)
      • 반복문 (11)
      • 1차원 배열 (7)
      • 함수 (3)
      • 문자열 (10)
      • 기본 수학 1 (8)
      • 기본 수학 2 (6)
      • 2차원 배열 (0)
      • 정렬 (10)
      • 재귀 (4)
      • 브루트 포스 (5)
      • 집합과 맵 (0)
      • 기하 1 (5)
      • 정수론 및 조합론 (12)
      • 백트래킹 (8)
      • 동적 계획법 1 (15)
      • 누적 합 (0)
      • 그리디 알고리즘 (5)
      • 스택 (5)
      • 큐, 덱 (7)
      • 분할 정복 (9)
      • 이분 탐색 (7)
      • 기타 문제 (17)
      • 별 찍기 문제 모음 (2)
    • C++ - 백준 [BAEK JOON] (46)
      • 입출력과 사칙연산 (14)
      • 조건문 (7)
      • 반복문 (11)
      • 1차원 배열 (7)
      • 함수 (3)
      • 문자열 (0)
      • 기타 문제 (4)
    • 자료구조 (18)
      • Java (18)
    • 알고리즘 (11)
      • Java (11)
    • 프로그래밍 기초 (6)
    • 이모저모 (2)
    • 일상의 글 (2)

최근 글

정보

ST_의 Stranger's LAB

Stranger's LAB

ST_

블로그 구독하기

  • 구독하기
  • 네이버 이웃 맺기
  • RSS 피드

방문자

  • 전체 방문자
  • 오늘
  • 어제

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. Copyright © ST_.

티스토리툴바