전체 글

이것 저것 공부해보기 좋아하는 초보 개발자로, 제가 공부하는 내용들을 제가 이해하기 쉽게 작성합니다. 질문이나 지적은 언제나 환영합니다.
봉우리란, N*N 형태의 격자판에서 주변(상하좌우)의 값보다 높은 값을 가지는 인덱스들이 봉우리가 된다. 주변과 같은 값이 있다면 봉우리가 아님에 유의하자. + 격자판은 0으로만 구성된 행, 열에 감싸진다. (격자판의 상하좌우 마지막 행, 열은 모두 0으로 구성되어있다.) 초기 작성 코드 import java.util.Scanner; public class Main { private int solution(int n, int[][] grid) { int answer = 0; for (int i = 1; i grid[i][j + 1]) { if (grid[i][j] > grid[i - 1][j] && grid[i][j] > grid[i + 1][j]) { answer++; } } } } return ans..
자연수 N이 주어지면 N*N 만큼 숫자가 주어진다. 이 격자판에서의 각 행, 열, 대각선의 합 중 가장 큰 값을 구하는 문제이다. 초기 작성 코드 import java.util.Scanner; public class Main { private int solution (int num, int[][] grid) { int answer = 0; // 행의 합 중 가장 큰 값 도출 for (int i = 0; i answer) answer = sum; } // 열의 합 중 가장 큰 값 도출 for (int i = 0; i < num; i++) { int..
문자열 뒤집기 문자열을 입력받는 부분의 코드는 아래와 같다. 여기서는 실제 문제를 해결해 답안을 도출해내는 solution 메서드만 추가적으로 작성하겠다. (import문도 생략한다.) import java.util.Scanner; public class Main { public static void main(String args[]) { Main main = new Main(); Scanner sc = new Scanner(System.in); String str = sc.nextLine(); System.out.println(main.solution(str)); } } 1. 직접 문자열을 뒤집는 방법 1) 가장 간단하게는 직접 문자열을 뒤집는 방법이 있다. 여기에도 가장 원초적인 방식으로는 문자열의 ..
조건 입력 값은 2이상 20만 이하 첫 줄에 소수의 개수를 출력 1차로 작성한 코드 import java.util.Scanner; public class Main { private int solution(int num) { int answer = 0; for (int i = 2; i
· Backend/Java
Integer 클래스의 parseInt로 정수의 기수 변환을 할 수 있다. 이 메서드는 하나의 매개변수의 인자만 전달하여 단순하게 String 형태의 정수를 int 타입으로 변환할 때 많이 사용하게 되는데, 매개변수가 하나일 때는 변환된 10진수 정수가 나오고, 두 번째 매개변수로 기수를 전달할 경우 해당 String형태의 값이 해당 기수로 표현된 값임을 전달해주게 된다. 반환되는 값은 항상 10진수 값이다.두 번째 매개변수인 radix(기수)의 인자로는 10, 2, 8, 16가 들어갈 수 있다. Integer.parseInt(String str, int redix); Integer.parseInt(str, 2); Integer.parseInt(str, 8); Integer.parseInt(str, 16);
· Backend/Java
Integer 타입의 리스트를 int 타입 배열로 변환할 때는 (int[]) 등의 형태로 변환할 수 없다. 이 때는 아래와 같이 List에서 제공하는 stream을 통해 primitive type인 int 타입 배열로 변환할 수 있다. List list = Arrays.asList(1, 2, 3, 4, 5); int[] arr = list.stream().mapToInt(Integer::intValue).toArray();
· Backend/Java
쉘 스크립트를 실행시키면서 파라미터를 넘기기 위해서는 'sh 스크립트명 파라미터'와 같이 실행시킬 쉘 스크립트 파일명 뒤에 띄우고 전달할 수 있다. 이를 자바에서 쉘 스크립트 실행하는 방법과 연동하면, Java가 제공하는 Runtime 클래스의 getRuntime() 메서드를 호출해 런타임 인스턴스를 반환받아, 여기에 exec() 메서드를 통해 쉘 실행 스크립트를 작성하면 된다. Process process = Runtime.getRuntime().exec("sh shellname.sh hello java"); 쉘을 아래와 같이 작성되어 있다고 전제한다. $ echo $1 $ echo $2 위의 내용을 바로 출력시켜 보려면 Process 인스턴스로부터 바로 InputStream을 받아 BuffredRea..
· 기타
기본적인 형태는 이러하다. $ find [path] [filename] [-option] [-filetype] - option(optional) : 이름으로 찾을 때는 -name을 입력하면 된다. - filetype(optional) : 해당 이름의 디렉토리를 찾는 것이라면 -d, 파일을 찾는 것이라면 -f를 입력하면 된다. 만약 기본 위치(~)에서 resourcedir 라는 이름의 폴더를 찾으려면 아래와 같이 작성할 수 있다. $ find . "resourcedir" -name -d
· 기타
Linux에서는 vmstat 명령어를 통해 조회할 수 있는 내용을 맥에서는 vm_stat으로 작성해야 한다. 추가적으로, 리소스 모니터링을 위해서는 top, iostat을 사용할 수 있다. 이 부분에 대해서는 추후에 구체적인 게시글을 작성할 예정이다.
· 기타
1. 스크립트 파일 생성 vi scriptname.sh 우선은 터미널을 켜 스크립트 파일을 생성할 위치로 이동한다. $ cd [경로] cf. 현재 디렉토리는 pwd 커맨드를 통해 알 수 있다. 기본적으로는 Users/[사용자명]으로 나올 것이다. $ pwd 스크립트 파일 생성을 원하는 위치로 이동하였다면 touch 커맨드를 통해 확장자가 sh인 파일을 생성한다. $ touch scriptname.sh 해당 스크립트 파일을 텍스트 에디터 vi로 편집한다. $ vi scriptname.sh cf. i를 통해 입력 상태로 전환할 수 있고, 편집이 끝난 후에는 esc버튼 클릭 후 :wq를 입력해 저장 및 에디터 종료를 동시해 진행할 수 있다. 2. 출력내용을 파일로 저장하기 리눅스에서는 명령어를 통해 결과를 출..
devYH
모르는 것이 많습니다