본문 바로가기

반응형

전체 글

(89)
[코딩테스트][알고리즘] 7. 투 포인터(Two Pointers) 이 알고리즘은 소프트웨어 마에스트로 11기 온라인 코딩 테스트에서 출제되었다. 투 포인터는 1차원배열에서 서로 원소를 가르키는 2개의 포인터를 이용하는 알고리즘이다. 아래 문제는 투포인터의 대표적인 유형이다. https://www.acmicpc.net/problem/2003 1차원 배열의 구간합(M)을 구하는 문제인데 푸는 방식은 이러하다. 1차원 배열 arr과 구간합의 시작과 끝을 가르키는 포인터 (s,e)를 준비한다. arr = { 1 , 3 , 5 , 2 , 1 , 2 , 3 , 4 } 1. 초기값은 s=e=0 이다. 2. 항상 s i; ++i) { arr[i] = Integer.parseInt(st.nextToken()); } int s = 0; int e = 0; int temp = 0; whi..
[SQLD] [SQLP] 데이터베이스 SQL 관련 자격증 관련 정보 최근 알게된 자격증인 SQLD(개발자), SQLP(전문가)에 대해서 조사한 내용을 공유해드리려고 합니다. 우선 이 자격증은 데이터베이스(SQL)관련 시험이며 국가공인자격증입니다. SQLD, SQLP 자격증이 있으면 기업지원시 우대를 받을 수 있다고 합니다. 가점요소에 해당되는지는 불확실하니 원하시는 기업의 채용정보를 확인하시기 바랍니다. 사기업 : 더보기 공공기관 : 더보기 과목 (2개) 데이터 모델링의 이해 / SQL 기본 및 활용 문항수 10문항 ( 20점 ) / 40문항 ( 80점 ) 응시자격 제한없음 합격기준 평균 60점 이상이고 과락(40점이하) 없을것 응시료 SQLP 100,000원 / SQLD 50,000원 ( 재시험시 40,000 ) 유효기간 2년 ( 1년 6개월 이후 온라인 보수교육 30..
2020 SW 마에스트로 11기 온라인 코딩테스트 후기 소프트웨어 마에스트로 온라인 코딩 테스트를 보고 왔습니다. 시험에 대해 한마디로 말하면 난이도 자체는 어렵지 않았지만 시험환경이 최악이었다고 생각합니다. 코딩 테스트를 보는 게 처음이라 다른 시험은 어떨지 몰라 시험 환경에 대해 평가하는게 조심스럽지만, 글을 읽어보시면 좋지 않게 느껴지실겁니다. 저는 시험환경 때문에 실력 발휘를 잘하지 못했습니다. 2시 정각에 바로 접속을 했지만 서버문제로 접속이 되지 않아 시험 시간이 3분이 미뤄졌고, 저는 2시 5분? 정도에 접속이 되었습니다. 그리고 또 다른 문제점 때문에 15분? 정도의 추가시간이 주어졌습니다. 저는 SQL 문제를 제일 먼저 풀었는데 SQL 문제에 오타가 있었습니다. 분명히 맞게 푼거 같은데 예시 화면과 출력이 다르게 나와 당황했고 20분 정도 시..
java - 백준 알고리즘 - 10814 나이순 정렬 이 문제는 두 조건에 의해 정렬을 하는 문제이다. Arraylist에 입력값을 담고 가입한 순서대로 index를 붙혀주었다. Collections.sort() 함수를 이용, Comparator을 override 하여 정렬조건을 구현했다. https://www.acmicpc.net/problem/10814 문제 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 온라인 저지 회원의 수 N이 주어진다. (1 ≤ N ≤ 100,000) 둘째 줄부터 N개의 줄에는 각 회원의 나이와 이름이 공백으로 구분되어 주어진다. 나이는 1보다 크거나 같으며, 200..
java - 백준 알고리즘 - 2751 수 정렬하기 2 이 문제는 BufferedReader , BufferedWriter를 사용하여 입력과 출력을 하고 Arraylist에 입력값을 받아 Collection.sort() 함수를 이용해 정렬을 해주면 된다. ( arr[] 배열을 이용한 후 Arrays.sort()를 이용하니 시간 초과가 났다. ) https://www.acmicpc.net/problem/2751 문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. 출력 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에..
java - 백준 알고리즘 - 11650 좌표 정렬하기 이 문제는 2가지 기준을 모두 만족하며 정렬을 하는 문제이다. ArrayList에 입력값을 담고 Collection.sort() 함수를 이용하고, Comparator를 override 하여 문제를 풀었다. https://www.acmicpc.net/problem/11650 문제 2차원 평면 위의 점 N개가 주어진다. 좌표를 x좌표가 증가하는 순으로, x좌표가 같으면 y좌표가 증가하는 순서로 정렬한 다음 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. 출력 첫째 줄부터 N개의 줄..
코딩테스트를 위한 자바(java) 비트마스크 - 6 정수의 이진수 표현을 자료 구조로 쓰는 기법을 비트 마스크(bitmask)라고 부른다. 엄밀히 말하면 자료구조는 아니지만 코딩 테스트를 할 때 유용하게 사용 가능하다. 비트 마스크를 알기 전에 비트 연산에 대해서 알 필요가 있다. 비트 마스크를 이용하면 얻을 수 있는 장점이 3가지가 있다. 더 빠른 수행 시간 더 간결한 코드 더 작은 메모리 사용량 ex) { 1,3,5,7,9 }를 원소로 가지는 집합을 표현할 때 방법 1 : int[] arr = { 1,3,5,7,9 }; 방법 2 : 101010101(2) (비트마스크) N비트 일 때 오른쪽부터 순서대로 0번째 비트, 1번째 비트, 2번째 비트... N-1번째 비트 공집합 0 꽉 찬 집합 int full = (1
코딩테스트를 위한 자바(java) 비트연산 - 5 비트 마스크를 알기전에 미리 공부해야 할 비트연산에 대한 내용이다. 잘 숙지 해놓으면 비트 마스트를 이해하는데 도움이 될 것이다. 논리곱 AND & 두 비트가 모두 1일때 1을 반환 논리합 OR | 두 비트 중 하나라도 1이면 1을 반환 반전 ~ 비트가 1이면 0, 0이면 1을 반환 배타적논리합 XOR ^ 두 비트가 같으면 0, 다르면 1을 반환 오른쪽 시프트 연산자 >> 오른쪽으로 이동 후 왼쪽에는 0을 삽입 왼쪽 시프트 연산자 3);// 00010오른쪽으로 3칸 이동 // d == 2 byte a = 5; // 101 byte b = (byte) (a

반응형