교재: 명품 JAVA ESSENTIAL 페이지 89 9번, 10번, Bonus1번 import java.util.Scanner; public class threesixnine { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int first, second; int num; System.out.println("1~99 사이의 정수를 입력하세요>> "); num = scanner.nextInt(); first = num/10; second = num%10; System.out.print("박수"); if (first%3 == 0 && second%3 == 0) System.out.println("짝짝");..
전체 글
공부중인 학생입니다! 글에서 틀린 곳이 있으면 지적 부탁드립니다 블로그 이사 https://velog.io/@joohr1234이번에도 명품 java essential 교재 연습문제입니다. 자바는 메뉴판이 너무 깔끔하게 출력돼서 좋네요. 처음 입력으로 어떤 종류의 커피인지 입력하고, 두 번째 입력으로 몇 개인지 입력해줍니다. 만약 "에스프레소 2"라고 입력한다면 2000×2=4000원이 출력될겁니다. import java.util.Scanner; public class cafe { static void menu() { System.out.println("┌───────────────┐"); System.out.println("│에스프레소 2000원 │"); System.out.println("│아메리카노 2500원│"); System.out.println("│카푸치노 3000원│"); System.out.println("│카페라..
이번에도 명품 Java Essential교재 연습문제입니다. Scanner와 if문 연습을 위한 문제인데요. 돈의 액수를 입력받아 오만원권부터 1원까지 각각 몇 개로 변환되는지 출력하라는 문제입니다. 어려운 문제는 아니지만 구글링의 중요성을 위해 블로그에 올려봅니다. 저는 처음 문제를 풀었을 때 상당히 코드가 더럽다고 생각했었습니다. 실제로 제 코드는 더러운 게 맞았고요. 다음은 제가 처음 문제를 풀었을 때 코드입니다. import java.util.Scanner; public class money { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int money; int fiftythousand, t..
저는 명품 Java Essential이라는 교재를 공부하고 있습니다. 학교 수업에서 사용하던겁니다. 이번 문제는 교재 연습문제 입니다. 저는 자바 개발도구로 이클립스를 사용합니다. 자바를 처음 접한 건 생활코딩 유튜브였고, 학교에서도 자바 수업을 들었는데 둘 다 이클립스를 이용하더라구요. 그래서 그냥 그대로 쓰고있습니다. (제트브레인이 더 낫다고는 하는데 일단 익숙한 개발환경으로 공부하다가 갈아탈 생각입니다ㅎ) 요번에 알게된 꿀팁인데요. 이클립스 소스코드 자동 줄맞춤 단축키는 ctrl+shift+f입니다. 코드를 쭉 짜다가 이 부분엔 반복문을 넣어 반복시키고 싶다! 했을 때 아주아주 유용합니다.. 굿... 알아서 정렬되는 걸 보면 뭔가 뿌듯해집니다. 하나하나 줄 맞추는 스트레스도 줄일 수 있구요. 단축키..
전치행렬은 행과 열이 바뀐 행렬입니다. 2차원 행렬을 사용할거고 함수로 받아야해서 동적할당을 이용할겁니다. #include #include malloc을 사용해주기 위해 stdlib 인클루드 해줍니다. int** Transpose_Mat(int *A, int n) { int** arr = malloc(sizeof(int*) * n); for (int i = 0; i < n; i++) arr[i] = malloc(sizeof(int) * n); for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) arr[i][j] = A[3*i + j]; } int** B = malloc(sizeof(int*) * n); for (int i = 0; i < n; i++) ..
2차원 배열을 함수의 매개변수로 전달하려면 동적할당을 이용해야합니다~ 예시문제를 보면서 살펴보도록 합시다! 이 문제에서는 c언어에서의 배열이 연속적으로 메모리에 저장된다는 성질을 이용합니다. 2차원배열이라고 해도 메모리에는 연속으로 저장되므로, 일단 함수 매개변수로 받을 때 1차원 배열의 포인터로 받습니다. 그리고 함수 안에서 각 행마다 int**타입을 가지는 배열에 담아줌으로써 2차원 배열로 이용할 수 있습니다! 그림과 같이 일단 int*로 받고(포인터끼리는 형변환이 자유로우니까요!) int**로 각 행 시작에 해당하는 배열요소의 주소를 넣어주면 됩니다! int** arr이 있다면 arr[0], arr[1], arr[2]에 각각 3개씩 담아주면 되는거죠. 문제: 2차원배열 값들 중 가장 큰 값 찾기 #..