Algorithm

Algorithm/자료구조와 함께 배우는 알고리즘 (자바편)

02-1(배열이란?) - 배열 요소를 역순으로 정렬하기 (자바편)

🌏 주제 : 배열 요소를 역순으로 정렬하기 교환 횟수 : 요솟수/2 이며, 이 나눗셈에서 나머지는 버립니다. 요솟수가 홀수일 때 가운데 요소는 교환할 필요가 없기 때문입니다. for (int i = 0; i < n/2; i++) // a[i]와 a[n - i - 1]의 값을 교환 🌏 문제 배열 요소에 값을 읽어 들여 역순으로 정렬 🌏 문제 분석 package Chapter2; import java.util.Arrays; import java.util.Scanner; class Ex2_5 { // 배열 요소 a[idx1]과 a[idx2]의 값을 바꿈 static void swap(int[] a, int idx1, int idx2) { int..

Algorithm/자료구조와 함께 배우는 알고리즘 (자바편)

01-2(반복) - 직각이등변삼각형 출력하기 (자바편)

🌏 주제 : 직각이등변삼각형 출력하기 🌏 문제 1. 직각이등변 삼각형을 출력하기 (왼쪽 아래가 지각, 왼쪽 위가 직각, 오른쪽 위가 지각, 오른쪽 아래가 직각) 2. 피라미드 별모양 출력하기 3. 숫자 피라미드 출력하기 🌏 문제 분석 package Chapter1; import java.util.Scanner; public class Q14 { public static void main(String[] args) { // 직각이등변삼각형 Scanner scan = new Scanner(System.in); System.out.print("몇 단 삼각형을 원하십니까?"); int n = scan.nextInt(); // 왼쪽 아래가 직각 for (int i = 1; i

Algorithm/자료구조와 함께 배우는 알고리즘 (자바편)

01-2(반복) - 반복 과정에서 조건 판단하기 (자바편)

🌏 주제 : 반복 과정에서 조건 판단하기 🌏 문제 *를 n개 출력하되 w개마다 줄을 바꿔서 출력합니다. 🌏 문제 분석 package Chapter1; import java.util.Scanner; public class Ex1_14 { public static void main(String[] args) { Scanner stdIn = new Scanner (System.in); int n; int w; System.out.println("*를 n개 출력하되 w개마다 줄을 바꿔서 출력합니다."); do { System.out.print("n의 값: "); n = stdIn.nextInt(); } while (n

Algorithm/자료구조와 함께 배우는 알고리즘 (자바편)

01-2(반복) - 자릿수 구하기 (자바편)

🌏 주제 : 사전판단반복과 사후판단반복의 차이점 사전판단반복 (while문, for문) : 루프 본문을 한 번도 실행하지 않을 수 있습니다. 사후판단반복 (do while문) : 루프 본문을 한 번은 반드시 실행합니다. - 책 참고 : p.34 🌏 문제 양의 정수를 입력하고 자릿수를 출력하는 프로그램을 작성하세요. 예를 들어 135를 입력하면 '그 수는 3자리입니다.' 라고 출력하고, 1314를 입력하면 ' 그 수는 4자리입니다.'라고 출력합니다. 🌏 문제 분석 package Chapter1; import java.util.Scanner; public class Q10 { public static void main(String[] args) { Scanner scan = new Scanner(System..

Algorithm

Algorithm - Map 활용하기(1) - '이'씨 찾기

🌴 문제 Map 활용하기 Map에 키에 이름(유재석, 박나래, 이지은, 서장훈, 이광수)을 넣고, 값을 모두 'X'로 초기화 하세요. 성씨가 '이'씨인 경우에는 값을 'O'로 바꾼다. Iterator를 사용한다. 출력 예시 {이지은=O, 서장훈=X, 유재석=X, 이광수=O, 박나래=X} 🌴 문제 분석 package map_quiz; import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class Review_Quiz02 { public static void main(String[] args) { Map names = new HashMap(); names.put("이지은",'X'); names.put("서장훈",'..

Algorithm

Algorithm - 십자(+)그리기

🌴 문제 십자(+) 그리기 [5][5] 크기의 배열을 만드세요. 모든 값을 0으로 초기화 하세요. 반복문을 이용해서, 아래와 같이 + 위치에 1을 입력 하고 출력하세요. 출력 0 0 1 0 0 0 0 1 0 0 1 1 1 1 1 0 0 1 0 0 0 0 1 0 0 🌴 문제 분석 int[][] numbers = new int[5][5]; for (int i = 0; i < numbers.length; i++) { for(int j = 0; j < numbers[i].length; j++) { numbers[i][j] = 0; if(i == 2 || j == 2) { // 2번째 인덱스칸에 1을 넣기. numbers[i][j] = 1; } } } System.out.println(Arrays.deepToSt..

Algorithm

Algorithm - 최소값 index 배열 구하기

🌴 문제 최소값 index 배열의 값 중 가장 작은 수가 저장된 index를 출력하세요. 출력 예시 최소값의 인덱스는 5 🌴 문제 분석 int min = numbers[0]; int minIndex = 0; // minIndex 변수를 만드세요. for (int i = 0; i numbers[i]) { min = numbers[i]; minIndex = i; // 인덱스 i를 minIndex에 넣으세요. } } System.out.println("최소값의 인덱스는 " + minIndex);

Algorithm

Algorithm - 배열 값 변경

🌴 문제 배열 값 변경 길이가 5인 int 배열을 만든다. 수를 계속 입력 받으면서, 입력 받은 수가 짝수 일때만, 배열에 저장한다. 배열이 가득차면 입력을 중단하고, 저장된 수들을 출력한다. 입력 예시 수를 입력하세요 : 34 수를 입력하세요 : 65 수를 입력하세요 : 23 수를 입력하세요 : 74 수를 입력하세요 : 2 수를 입력하세요 : 74 수를 입력하세요 : 57 수를 입력하세요 : 68 🌴 문제 분석 Scanner scan = new Scanner(System.in); int[] evens = new int[5]; int index = 0; while (index < 5) { // 조건식 0 1 2 3 4 System.out.print("수를 입력하세요: "); int number = sca..

Algorithm

Algorithm - 임금 계산

🌴 문제 임금 계산 아래 배열은 각각 월, 화, 수, 목, 금, 토, 일 7일간의 아르바이트를 한 시간을 나타낸다. 시급 기준이 아래와 같을때 7일 동안 일한 총 임금의 값을 출력하세요. 평일 시급 : 8500원 주말(토,일) 시급 : 9500원 int[] works = {3, 5, 5, 3, 5, 3, 5}; 출력 예시 일주일간 총 임금은 254500원 🌴 문제 분석 int[] works = {3, 5, 5, 3, 5, 3, 5}; int sum = 0; for(int i = 0; i 4) { // 배열의 index 번호로 이용. sum += works[i] * 9500; } else { sum += works[i] * 8500; } } System..

Algorithm

Algorithm - 배열 순서 변경

🌴 문제 배열 순서 변경 1 ~ 10 까지 차례로 저장된 배열을 만들고, 순서를 뒤섞어서 그 결과를 출력하세요. 힌트 Random을 이용해서, 0번째 index의 값과 rand() 번째 index의 값의 서로 교체하면 된다. rand 함수 사용하는법 Random rand = new Random(); // 0번째 index와 random index와 교체를 100번 반복해서 뒤섞는다. for (int i = 0; i < 100; i++) { int randIndex = rand.nextInt(10); // 0 ~ 9까지의 숫자를 랜덤으로 뽑는다. // swap 구현 } 출력 예시(매번 달라짐) 4 5 7 8 9 1 3 6 2 10 🌴 문제 분석 int[] numArr = {1,2,3,4,5,6,7,8,9,..

요가하는 개발자
'Algorithm' 카테고리의 글 목록 (8 Page)