[JAVA] 백준2438 (별찍기-1)
문제: 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제
입력: 첫째 줄에 N(1 ≤ N ≤ 100)
출력: 첫째 줄부터 N번째 줄까지 차례대로 별을 출력
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new I...
자료구조
자료구조?
데이터를 효율적으로 다룰 수 있는 방법
예) Stack, Queue, Tree, Graph
Stack
데이터(data)를 순서대로 쌓는 자료구조
1. 특징 : 후입선출
입력과 출력이 하나의 방향으로 이루어지는 제한적 접근(LIFO(Last In First Out) 혹은 FILO(First In Last Out))
데이터를 넣는 것을 ‘PUSH’, 데이터를 꺼내는 것을 ‘POP’
한꺼번에 여러 개를 넣거나 뺄 수 없음
2. 명령어
Integer형 스택 선언
Stack<Integer> stack = new Stack<>();
push(): 스택에 데이터를 추가
p...
[JAVA] 2의 거듭제곱인지 확인
package com.codestates.coplit;
import java.util.*;
public class Solution {
public boolean powerOfTwo(long num) {
//2의 n승이면 true
if (num == 1) return true;
//2의 n승이 아니면 false 리턴
if (num % 2 != 0) return false;
//2의 n승을 구해주는 powered
long powered = 2;
while (powered < num) {
powered = powered * 2;
}
...
Stack & Queue 구현
Stack
push 스택에 데이터를 추가
public void push(Integer data) {
listStack.add(data);
}
pop 가장 나중에 추가된 데이터를 스택에서 삭제하고 삭제한 데이터를 리턴
public Integer pop() {
if(listStack.size() == 0) {
return null;
}else {
return listStack.remove(listStack.size() - 1);
}
}
size 스택에 추가된 데이터의 크기를 리턴
public int size() {
return lis...
[JAVA] 백준 11729번 (하노이의 탑)
import java.util.Scanner;
public class B11729 {
public static StringBuilder sb = new StringBuilder();
//StringBuilder?
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int num = in.nextInt();
//원판 이동 회수 구하기기
sb.append((int) (Math.pow(2,num) - 1)).append('\n');
Ha...
[JAVA] 10870 (피보나치 수열)
/* 백준 10870번 (피보나치 5번)
문제: Fn = Fn-1 + Fn-2 (n ≥ 2) n번째 피보나치 수를 구하는 프로그램
입력: 첫째 줄에 n이 주어진다. n은 20보다 작거나 같은 자연수 또는 0
출력: 첫째 줄에 n번째 피보나치 수를 출력
*/
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class B10870 {
public static void main(String[] args) throws IOException {
BufferedRead...
[JAVA] 10872번 (재귀)
문제: 0보다 크거나 같은 정수 N. N!을 출력하는 프로그램을 작성
입력: 첫째 줄에 정수 N(0 ≤ N ≤ 12)
출력: 첫째 줄에 N!을 출력
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int N = in.nextInt();
in.close();
int sum = factorial(N);
System.out.println(sum);
...
66 post articles, 10 pages.