전체 글215 인프런 JAVA 알고리즘 정리(Stack, Queue(자료구조) 1번~8번) 1. 올바른 괄호 // 올바른 괄호인지 확인하는 스택의 기본적인 문제 - (())()()( 이런식으로 단순히 '(' 와 ')' 로만 이루어 있다. - 그래서 Stack으로도 풀어보고 count 변수 선언 하여 풀어보았다. 2. 괄호문자제거 // 스택은 배열 - pop()을 하지 않고 for문으로 순서대로 꺼낼시 LIFO 형식이 아닌 INDEX 순 ( 먼저들어간 순으로 나옴-stack.get(i) ) 3. 크레인 인형뽑기(카카오) - 1. 뽑길 원하는 숫자(라인)이 넘어오면 2차원 행열의 열 기준 for문을 돌려 0이 아닐때 까지 돈다. - 2. 0이 아닌 숫자를 만나면 stack에 넣는 작업을 하는데 - 2.1) 스택이 비어있거나 스택의 위의 숫자와 넣는 숫자가 다르면 그냥 넣는다. - 2.2) 스택이 .. 2023. 4. 10. 인프런 JAVA 알고리즘 정리(HashMap, TreeSet 1번~5번) 1. 학급 회장 // 15 명의 학생이 각각의 학생(알파벳)을 투표하여 투표수가 가장 많은 학생(알파벳을) 회장으로 BACBACCACCBDEDE // 알파벳하고 투표수(카운트)랑 짝이 되어야 되기때문에 키값으로 구성이 되는 해시맵을 생각할 수 있다. // 알아두면 좋은 메서드 map 이름을 가지 해시맵을 선언하고 map.getOrDefault(x, 0) x라는 키값이 있으면 그 값을 리턴하고 x라는 키값이 해시맵에 없으면 0을 리턴해라 . 2. 아나그램 // AbaAeCe baeeACA 2개의 문자열이 각각의 원소의 개수가 같으면 TRUE // 결국 A-2개 , b-1개, a-1개, C-개, C-1개의 원소로 같으므로 두 문자열은 같다고 할 수 있다. // 해시맵은 순서가 존재하지 않기에 순서에 상관없이.. 2023. 4. 8. 코드스테이츠 백엔드 부트캠프 43기 (개인프로젝트 - todoList) 모든 과정이 끝이 나고 간단한 개인프로젝트 시간이 찾아왔다. 기능 요구사항은 매우 단간하다. text 를 저장, 읽고, 수정, 삭제 (CRUD) 과정만 하면 된다. 먼저 프론트엔드부분이 제공되는 사이트에서 나의 로컬주소로 요청을 하여 데이터를 출력하는 형식으로 진행이 되었다. 이런식으로 사이틑 안에서 나의 로컬주소를 호출하는 과정에서 CORS 정책 - 외부 사이트에 접근하는 것을 막는 정책 이러한 접근을 해제하기 위하여 사용하는 Controller 에 @CrossOrigin 에너테이션을 설정해주면 CORS 해제가능. 다음으로 가장먼저 데이터를 받아와서 저장하는 POST 요청을 처리해 보았다. @RequestBody - json 형식으로 넘어올때 데이터를 정해놓은 body 형식으로 받는다. @PathVar.. 2023. 4. 7. 2023 한국사회보장정보원 채용 전산직 서류 필기 4번째 필기시험. 모집인원의 5배수인 100명을 뽑는 필기시험 이었기에 크게 긴장이 되진 않았다. NCS - 4번 본 시험 중 모듈이 은근 까다롭게 나와서 어렵게 느껴졌다. 피셋은 나쁘진 않았다. 전공 - 4번 본 시험 중 가장 쉬웠다. 정처기 시험 수준이랑 비슷하게 나온 것 같다. 그래도 햇 갈리는 문제들이 몇몇 있어서 그 문제들은 다 틀렸다. 다 풀고 30분 정도 남아서 문제 체점도 했다... 무슨 개발자 맞추는 문제도 나왔고, 특히 리눅스 명령어 문제는 매 전공 시험마다 나온거 같다. 그리고 전체적으로 기사 + 컴일 하드웨어 쪽 범위정도 나왔다. NCS 는 한 60후반에서 70예상 했는데 60이 나왔다. 4번 시험 봤는데 거의 다 NCS는 60점대... NCS는 시험보고도 뭐가 틀렸는지 느낌도 안오.. 2023. 4. 6. 인프런 JAVA 알고리즘 정리(Two pointers, Sliding window 1번~6번) 1. 두 배열 합치기 // 두 개의 배열을 합쳐서 오름차순 정렬 -> 효율적으로 접근해봐라 - 투 포인터 - Arrays.sort 의 시간복잡도는 평균 O(nlog(n)) , 최악O(n^2) - O(n) 으로 접근하도록 -> 투 포인터 알고리즘 2. 공통원소 구하기 // 두 개의 배열에서 공통 원소를 추출해사 오름차순 정렬 시켜 - 투 포인터 - 두 배열을 오름차순 정렬 - 변수 2개 선언 - 두 배열이 같으면 출력, 한쪽이 크다? 작은쪽 변수를 1증가 - 한쪽이 끝날 때 까지 진행. 3. 최대 매출 // 배열이 있으면 N일 동안의 최대 매출 출력 - 슬라이딩 윈도우 10일의 매출중 연속된 3일의 매출의 최대 값은 4. 연속부분수열 // 투 포인터 + 슬라이딩 5. 연속된 자연수의 합 // 15가 입력되.. 2023. 4. 5. [LINUX] 파일 디렉터리 접근 권한 - umask umask란 파일이나 디렉터리를 생성하게 될 때 생성권한을 설정하는 것이다. 사용이유 -> 결국 각 파일이나 디렉터리의 접근 권한을 설정하기 위하여 r. 읽고 : 파일이나 디렉터리를 읽을 수 있는 권한 w. 쓰고 : 파일이나 디렉터리를 수정 할 수 있는 권한 x . 실행 : 파일이나 디렉터리를 실핼 할 수 있는 권한 3구역으로 나뉠 수 있다. 사용자 | 그룹 | 그외 d = 디렉터리 (위의 디렉터리 접근 권한) rwx = 사용자는 디렉터리를 읽고 쓰고 실행 할 수 있다. r-x = 그룹은 읽고 실행만 가능하고 수정 불가 r-x = 그외도 그룹과 동일 그래서 umask란 처음 디렉터리를 생성거나 처음 파일을 생성할 때 저 값을 지정해주는 것이다. umask 설정 권한을 확인해보자 umask 설정이 안되있을.. 2023. 4. 5. 인프런 JAVA 알고리즘 정리(배열 1번~12번) 1. 큰 수 출력하기 // 앞이랑 큰값 비교하여 출력 (바로 앞보다 큰 지) 2. 보이는 학생 // max 값 설정하여 큰 값 비교 (전체의 앞보다 큰 지) 3. 가위바위보 // if else 문의로 가위 바위 보 기준에따라 설정 4. 피보나치 수열//(재귀 x) for 문을 돌며 앞 과 뒤수를 바꿔가며 + 5. 소수 // Math.abs(x) 절대값 = x가 -3 이면 3 출력 // Math.pow( x, y ) 제곱 = x 가 2 이며 y 3이면 2의 3승 8 출력 // Math.sqrt(x) 제곱근 = x 25 이면 5 출력 -에라토스테네스 체 (순서대로 소수 체크할 때 활용) for문을 돌면서 소수를 발견하면 소수의 배수는 모두 1로 체크한다 (체크된 배수들은 소수를 배수로 가지고 있기 떄문에) .. 2023. 4. 3. 코드스테이츠 백엔드 부트캠프 43기 (AWS - Cloud) 클라우드 대표적인 클라우드 컴퓨팅을 제공하는 회사 AWS MS Azure (마이크로소프트) GCP (구글) 우리가 만든 웹페이지를 외부에서도 보려면 언제든지 접근이 되어야 하기때문에 서버가 계속 가동이 되어야 된다. 그래서 나의 컴퓨터를 서버로 만들거나 외부 서버를 이용하여 배포를 하게 된다. 그래서 우리는 외부서버인 Amazon Web Service 의 클라우드 서비스를 이용하여 배포를 해보는 학습을 하였다. AWS는 다양한 기능을 제공하고 있으며 우리는 그 중 3Tier-Architecture 배포 전략을 사용하여 배포를 하였다. 3Tier 란 클라이언트(S3), 서버(EC2) , 데이터베이스(RDS) 로 이루어져 있다. S3는 비정형 데이터(html 파일, 사진파일, 문서)를 저장할 수 있다. 그래.. 2023. 3. 30. 인프런 JAVA 알고리즘 정리(문자열 1번~12번) 1. 문자찾기 - //char 입력 = sc.next().charAt(0) -//char Character.toUpperCase(문자); 2. 대소문자 변환 // Character 클래스 활용 isUpperCase(문자) 대문자인지 // 97~122 소문자- 65~95 대문자 아스키 코드 대 소문자 32 차이 3. 문장 속 단어 // 스페이스 포함 문자열 입력 nextLine() // split()메서드 활용하여 가장 긴 문자열 찾기 // String.indexOf(문자) 문자가 맨 처음~ 발견되는 인덱스 번호 4. 단어 뒤집기 // StringBuilder reverse() 단어 뒤집기 // toString() 문자열로 변환 // String 배열-> String = String.join("", 스트링.. 2023. 3. 28. 이전 1 2 3 4 5 6 7 8 ··· 24 다음