네이버클라우드 캠프 | BE
-
[Linux/Ubuntu] 권한 관리 (파일, 디렉터리의 w 권한 중심으로)네이버클라우드 캠프 | BE/Linux 기초 2023. 4. 26. 13:53
1. 리눅스의 권한 관리 리눅스에서의 권한 관리는 파일이나 디렉터리에 대한 접근 권한을 의미합니다. 권한에는 읽기, 쓰기, 실행이 있으며, 소유자(user), 소유 그룹(group), 일반 사용자(others)로 구분하여 설정할 수 있습니다. *권한 확인 : ls -l (혹은 ls -al) 명령어를 통해 모든 파일의 권한 확인 가능 2. 권한 표기 방법 리눅스에서는 권한을 나타내기 위해 10자리의 문자열을 사용합니다. 아래의 예시를 통해 확인하도록 하겠습니다. 예시 설명 -rwxrwxrwx - rwx rwx rwx 파일 유형 소유자의 권한 소유 그룹의 권한 일반 사용자의 권한 - : 일반 파일 d : 디렉터리 권한 설명 r 읽기 권한 (파일 : 내용 읽기, 디렉터리 : 디렉터리에 포함된 파일/디렉터리 목..
-
[Linux/Ubuntu] 리눅스 용어네이버클라우드 캠프 | BE/Linux 기초 2023. 4. 25. 20:22
현재 네이버클라우드 캠프 7주 차에는 리눅스를 배우고 있습니다. 관련 용어를 정리하면 학습하기 수월할 것 같아, 이번 블로그 글을 작성합니다. (도움 되시길... 🍺) 1. 프롬프트 리눅스에서는 쉘(shell)을 사용하여 명령어를 입력하고 실행합니다. 프롬프트는 쉘에서 사용자로부터 명령어를 입력받을 준비가 되었음을 알리는 문자열로, $, #로 표시되며 사용자가 입력하는 위치를 나타냅니다. 명령어 설명 pwd 현재 작업 디렉터리(위치) 확인 cd 디렉터리로 이동 ls 현재 디렉터리 내 파일 목록 확인 touch 파일 생성 cp 파일 복사 mv 파일 이동 혹은 이름 변경 rm 파일 삭제 기호 설명 . 현재 디렉터리 .. 부모 디렉터리 ~ 홈 디렉터리 / 최상위 루트 디렉터리 1-1. ls 명령어 활용 명령어..
-
[네이버클라우드 캠프/3주차] 최소공배수와 최대공약수 출력하기네이버클라우드 캠프 | BE/Java 과제 2023. 4. 14. 12:37
고등수학에서 두 수의 최소공배수와 최대공약수를 구하기 위해서는 조립제법을 사용합니다. 조립제법을 통해 직관적으로 보이는 수를 곱하여 최소공배수 혹은 최대공약수를 구합니다. 이러한 최소공배수와 최대공약수를 어떻게 프로그램(알고리즘)으로 작성해야 하는지.. 참 많이 고민되었습니다. ❓ 문제 : 사용자에 두 정수를 입력받아, 최소공배수와 최대공약수를 출력하세요. 1. 생각 정리 최대공약수는 for문을 통해 사용자가 입력한 두 수에 대해 공통적으로 나눠지는 수를 구해야겠다고 생각했습니다. 그러나 사용자가 큰 수를 입력하는 경우를 대비하여 많은 횟수를 반복하지 못하도록 제한하는 것이 필요했습니다. (처음에는 어떤 기준으로 반복 횟수를 제한해야할지 감조차 오지 않았습니다.) 이를 위해 min이라는 int형 변수를 ..
-
[네이버클라우드 캠프/3주차] 소수 출력하기네이버클라우드 캠프 | BE/Java 과제 2023. 4. 14. 10:45
소수를 구하는 문제를 풀 때.. 정말 힘들었습니다. 앞서 풀었던 과제 중 '사용자에게 10개의 정수를 입력받고, 소수의 개수를 출력하세요. (단, 입력 값은 2`30 제한)'와 같이 입력받는 수가 제한되어 있을 경우에는 비교적 수월하게 풀이했습니다. 입력받는 수의 범위가 제한되어 있을 경우와 제한되지 않을 경우로 나누어 풀이를 설명하도록 하겠습니다. ❓문제 : 사용자에게 10개의 정수를 입력받고, 소수의 개수를 출력하세요. (단, 입력 값은 2`30 제한) 1. 소수와 소수가 아닌 수의 특징을 찾았습니다. 2 3 5 7 11 13 17 19 23 29 → 공통점 : 홀수 (9, 15, 21, 25, 27 제외 : 3이나 5의 배수) 짝수 (2) 4 6 8 9 10 12 14 15 16 18 20 21 2..
-
[네이버클라우드 캠프/3주차] 두 수의 합이 유일한 값의 개수 출력하기네이버클라우드 캠프 | BE/Java 과제 2023. 4. 13. 09:46
3주 차에는 컬렉션 프레임워크를 주로 배운 만큼, 이를 활용한 과제가 많았습니다. 각 인터페이스가 아닌 List와 Map 두 가지를 모두 활용하여 주어진 문제를 풀어보도록 하겠습니다. (컬렉션 프레임워크를 활용한 과제는 모두 새롭고, 인사이트를 얻게 되는 것 같습니다.) ❓문제 : 6개의 정수를 입력받아, 두 수의 합이 유일한 값이 되는 개수를 출력하세요. 이번 문제는 앞선 3주 차 과제 2개를 활용하여 풀이한 문제였습니다. [네이버클라우드 캠프/3주차] 문자열 중 가장 많이 등장하는 문자 구하기 지난 과제를 풀며, 어렵다고 느꼈던 문제 혹은 새로운 깨달음을 준 문제들에 대해 블로그 글로 정리하고 있습니다. '문제를 풀었을 때 (그때그때) 블로그 글로 작성해 두면 더 좋았을 텐데..'란 1-three.t..
-
[네이버클라우드 캠프/3주차] 연속합이 가장 큰 두 수 구하기네이버클라우드 캠프 | BE/Java 과제 2023. 4. 12. 15:38
지난 블로그 글이었던 '[네이버클라우드 캠프/3주차] 문자열 중 가장 많이 등장하는 문자 구하기' 에서도 컬렉션 프레임워크 중 하나인 Map을 사용하여 과제를 풀이했는데요. 이번 블로그 글 역시 컬렉션 프레임워크 중 하나인 List를 사용하여 과제를 풀어보도록 하겠습니다. ❓문제 : 5개의 정수를 입력 받아, 연속하는 두 수의 합이 가장 커지는 구간의 두 수를 출력하세요. 1. 5개의 정수를 입력받아 List에 저장합니다. public class Main { public static void main(String[] args) { List list = new ArrayList(); Scanner sc = new Scanner(System.in); for(int i = 0; i < 5; i++) { Sys..
-
[네이버클라우드 캠프/3주차] 문자열 중 가장 많이 등장하는 문자 구하기네이버클라우드 캠프 | BE/Java 과제 2023. 4. 12. 14:38
지난 과제를 풀며, 어렵다고 느꼈던 문제 혹은 새로운 깨달음을 준 문제들에 대해 블로그 글로 정리하고 있습니다. '문제를 풀었을 때 (그때그때) 블로그 글로 작성해 두면 더 좋았을 텐데..'란 후회와 속상함이 생겼지만, Map과 Entry를 사용하는 방법에 대해 이해할 수 있게 만들어준 과제를 공유하고 싶어 블로그 글을 작성합니다. ❓문제 : 문자열을 입력받고, 가장 많이 등장하는 문자와 그 개수를 출력하세요. public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("문자열 입력 > "); String str = sc.nextLine(); // 각 문자의 ..
-
[네이버클라우드 캠프/2주차] 재귀메서드 (feat. BigInteger)네이버클라우드 캠프 | BE/Java 과제 2023. 4. 12. 10:46
2주 차에는 정말 많은 내용을 배움과 동시에, 과제에서도 느낀 부분이 많았습니다. 이번 블로그에서는 재귀메서드를 생성하고 구현하는 것에 대해 정리해보려고 합니다. ❓재귀메서드를 이용하여 사용자가 입력한 숫자까지의 합을 구하세요. static BigInteger infiniteAdd (BigInteger b) 문제를 풀기에 앞서, BigInteger는 어떤 역할을 하고 있을까요? 1. BigInteger BigInteger는 자바에서 정수형을 다루는 클래스입니다. int나 long이 표현할 수 있는 수의 범위를 넘어서는 아주 큰 정수 데이터도 처리할 수 있는 클래스입니다. 이러한 BigInteger는 불변성(immutable)을 갖고 있기 때문에 한 번 생성되면 값을 수정할 수 없습니다. 이에 따라 대신 ..