본문 바로가기

자바알고리즘

[210601] 자바 문제 리딩, 전치 행렬 전치행렬이란? 임의의 행렬에 대해 열의 위치와 행의 위치를 바꾼 행렬 Like This! 공백으로 구분 주어 1(공백)2(공백)3(공백) 식으로 받은 배열 3개를 열과 행의 위치를 바꾸어 1 4 7 2 5 8 3 6 9 로 출력되게 많드는 알고리즘을 구현해보자. 복잡하게 구현한 ver.이 먼저 있다. 8-15 행을 기준으로 수열 n개씩 3번 받고 shiftToArray로 넘긴다. 17 치환이 끝난 애들을 shiftToNewArray(int[] array1, int[] array2, int[] array3)까지 21-28 shiftToArray(String inputJason) 함수에서는 11,13,15 shift() 에서 입력받은 임의의 수열을 각각 에서 받아 22 공백으로 split()(쪼개기)해서 ".. 더보기
[210530] 자바 문제 리딩 , 배열에서 가장 큰 값과 작은 값 구하기 int[] numbers = {10,55,23,2,79,101,16,82,30,45}; 여기서 가장 큰 값과 작은 값을 구해 출력해보는 문제를 풀어보았다. 알고리즘으로 풀어야해서 약간 헷갈릴 수 있지만 어렵진않았다. 먼저, 배열의 맨 처음 값부터 끝 값까지 [앞의 인덱스] vs. [뒤의 인덱스]를 비교하며 작으면 min에 넣고 크면 max에 넣는 방식이다. 우선 맨 처음 인덱스 값을 min,과 max값에 넣어준다. int min = numbers[0]; int max = numbers[0]; 참고로, 출력시 가장 큰 값과 작은 값의 위치를 알 수 있도록 Position변수도 선언한다. int minPos = 0; int maxPos = 0; 본격 알고리즘 식은 이렇다. 최소값부터 리딩해보자면, 이미 0번.. 더보기