1. Stack이란? 스택은 컴퓨터 과학의 자료구조 중 하나로, 항목에 접근하거나 항목을 추가하거나 삭제하는 동작이 데이터의 끝에서만 일어나는 ‘후입선출’(LIFO, Last In First Out) 방식을 따른다. 스택의 가장 큰 특징은 마지막에 들어간 데이터가 가장 먼저 나오는 구조를 가지고 있다는 점이다. 이는 실생활에서 책을 쌓았다가 위에서부터 하나씩 가져가는 것과 비슷한 원리라고 생각하면 좋다. 특징 후입선출(LIFO) 방식 : 가장 최근에 추가된 데이터가 먼저 나온다. Push : 스택의 맨 위에 새로운 요소를 추가해준다. Pop : 스택의 맨 위에 있는 요소를 제거하고 반환한다. Top : 스택의 가장 위를 가르킨다. 이를 통해 스택의 가장 최근 데이터에 접근할 수 있다. 이 외에도 peek..
문제 (A+B)% C는 ((A% C) + (B% C))% C와 같을까? (A×B)% C는 ((A% C) × (B%C))%C 와 같을까? 세 수 A, B, C가 주어졌을 때, 위의 네 가지 값을 구하는 프로그램을 작성하시오. 입력 조건 첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000) 출력 조건 첫째 줄에 (A+B)% C, 둘째 줄에 ((A%C) + (B% C))% C, 셋째 줄에 (A×B)% C, 넷째 줄에 ((A% C)× (B% C))% C를 출력한다. 풀이 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(S..
코드 public class Main { public static void main(String[] args) { for (int i = 2; i < 10; i++) { System.out.println(i + "단을 출력합니다."); System.out.println(); for (int j = 1; j < 10; j++) { System.out.println(i + " * " + j + " = " + (i*j)); } } System.out.println(); } } 정리하자면 for(int i = 2; i
1. for문 for문은 반복문의 한 종류로, 특정 조건이 만족될 때까지 코드 블록을 반복해서 실행해준다. 초기화, 조건식, 반복 후 작업(증감식) 세 부분으로 구성된다. 일반적으로 배열이나 컬렉션의 모든 요소를 순회할 때, 특정 조건이 충족되는 동안 코드를 반복해서 실행해야 할 때 주로 사용된다. for (초기화식; 조건식; 증감식) { // 반복해서 실행할 코드 } 초기화식 : for문이 시작될 때 한 번만 실행되는 코드이다. 보통 반복에 사용되는 변수를 초기화 할때 사용된다. 조건식 : 이 조건이 참인 동안에만 코드 블록이 반복 실행된다. 조건식이 거짓이 되면 for문은 종료된다. 증감식 : 코드 블록의 실행이 끝날 때마다 실행되는 코드이다. 보통 반복에 사용되는 변수의 값을 증가시키거나 감소시키는..
문제 두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 첫째 줄에 A/B를 출력한다. 실제 정답과 출력값의 절대오차 또는 상대오차가 10 뭐시기 이하면 정답이다. 풀이 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int A = scanner.nextInt(); int B = scanner.nextInt(); System.out.println(A/B); } } 이렇게 하면 되겠지 싶었는데... ??? 난 분명히 잘 됐는데.....
문제 두 정수 A와 B를 입력받은 다음, A×B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 A×B를 출력한다. 풀이 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int A = scanner.nextInt(); int B = scanner.nextInt(); System.out.println(A * B); } } A - B 를 해냈다면 연산자만 바꿔주면 되기 때문에 간단하다. 단지 scanner를 많이 사용해보지 않아서 어떤 모양으로 만들어야하는지를 모를뿐 정상..