서류 합격 이후, AI 역량 검사를 봤다. AI 역량검사는 주어진 시간에 질문에 답하는 부분으로 시작하였다. 자기소개, 본인의 장단점등 공통적인 질문으로 약 1~2분 대답하는 시간에 답변하면 된다. 이후, 성향 검사처럼 "매우 그렇다, 그렇다, 보통, 그렇지 않다, 매우 그렇지 않다"로 체크하는 부분이 있다. 한 두문제 정도가 그럴싸한 지문이 나온다. 예를 들어 "나는 루즈벨트 협약에 익히 알고 있다." 이런 질문이 있다. 마치 모르는데 안다고 답변하는걸 체크하는것 같았다. 성향 검사 이후, 미니 게임들을 시작한다. 카드 뒤집기, 색깔 일치, 공 무게 정렬 등이 먼저 생각이 난다. 역검 관련 테스트를 할수있는 링크를 따로 보내주니 거기서 연습하고 보면 충분하다. 마지막으로 순발력을 발휘해야하는 질문들이 ..
https://programmers.co.kr/learn/courses/30/lessons/76501?language=java 코딩테스트 연습 - 음양 더하기 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 re programmers.co.kr absolutes 배열의 길이 만큼 반복하여 , signs가 참이면 더하고 , 거짓이면 빼는 간단 구현. class Solution { public int solution(int[] absolutes, boolean[] signs) { int answer = 0; for(int i=0; i
-- 코드를 입력하세요 SELECT A.ANIMAL_ID, A.NAME FROM ANIMAL_INS A JOIN ANIMAL_OUTS B ON A.ANIMAL_ID = B.ANIMAL_ID WHERE A.DATETIME > B.DATETIME ORDER BY A.DATETIME -- 2018-02-02 14:17:00 out 2018-01-22 14:32:00 ins 보호소에서 보호시작된 테이블과 입양을 보낸 입양 테이블에 대한 INNER JOIN을 해아하는 문제이다. JOIN되고 난 뒤에 DATETIME을 비교해서 입양일이 보호시작일보다 빠르면 해당 동물의 ID와 NAME을 출력해주면 된다.
0~9 * 와 # 문자를 포함한 숫자 키패드 상에서 numbers 배열 내용 순대로 입력 한다고 할때 사용한 손을 리턴하는 문제. 다른 풀이를 보면 다 짧게 풀었지만, 생각나는대로 풀다보니 소스코드도 길고 비효율적인 코드 인거 같다. 현재의 왼손과 오른손의 위치를 기억하기 위해서 변수 선언을 하여 넘겨주는 방식으로 구현하였다. StringBuilder를 선언해 구현 함수가 리턴하는 결과에 따라 'L' or 'R'을 append 한다. import java.util.*; class Solution { //int[][] phone_num = new int[3][4]; int[][] phone_num = {{1,2,3},{4,5,6},{7,8,9},{-1,0,-2}}; public String solution..
자바는 많은 사람들이 알다시피 썬 마이크로시스템즈라는 회사에서 발표한 회사이다. 1995년에 첫 등장을 하게 된것이다. 1991년에 썬 마이크로시스템즈 엔지니어들이 가전제품에 사용할 목적으로 고안한 언어라고 한다... 지금 os 엔지니어도 대단하지만 당시 os 엔지니어 역시 감탄하게 되는 실력이다. 인터넷이 등장할때에 인터넷에서 많이 사용되는 프로그래밍언어로 각광을 받았다. 자바가 첫등장한 해인 95년도 당시 window 개발이 주류가 되었기에 자바는 C++ 언어에 밀리게 된다고 한다. 리눅스 , Window와 같은 대표적인 os는 c와 어셈블리어로 구현되었다고 알고 있다. (c는 적은 리소스에 비해 높은 성능...) 자바는 c에 비해 메모리나 cpu를 많이 요하기 때문에 os 언어로는 채택되지 못했다...
IT관련 학과를 전공했지만, 정작 프로그래밍 언어가 무엇인지 본질적으로 살펴본적이 없다. 프로그래밍 언어의 본질적인 정의는 인간과 컴퓨터의 중간 역할을 하는 언어이다. 기계어 : 0 또는 1 사람 : 한국어, 영어, 중국어.. 등등 0 또는 1 boolean과 같은 논리적 데이터 타입을 기계가 좋아한다... (전기적 신호로 받아들이기 위함) 반대로 사람은 이런 전기적 신호 보다는 어떠한 논리적인 명령어를 통해 자신이 원하는 퍼포먼스를 보여주길 원한다. 이런 논리적으로 표현된 문장을 기계입장에선 받아들이기 힘든 문자인 것이다. 기계와 사람이 동시에 받아들일 수 있는 언어가 필요해 프로그래밍 언어가 등장하게 되었다. 프로그래밍 언어는 크게 저급언어와 고급언어로 나뉜다. 이러한 분류가 생긴 이유는 간단하다. ..
자기 자신을 호출하는 함수인 재귀 함수를 코딩 문제를 풀다가 접하게 되었다. 학부생 시절에 배웠던 기억이 난다. 바이너리 트리가 담고 있는 데이터들을 전부 출력 해주는 부분이었다. 이진트리 데이터들을 출력해주는 print_tree()라는 어떠한 함수를 만들었으면 root노드의 정보를 파라미터로 받아 root노드의 기점으로 왼쪽부터 이후, 오른쪽 노드들의 데이터를 출력해주는 구조로 기억한다. 위 사진대로라면 root 노드인 'A' 노드를 파라미터로 아래와 같이 함수를 호출한다. print_tree('A'); 이후, A노드를 기점으로 왼쪽 노드인 'B'노드를 파라미터로 또 해당함수를 아래와 같이 호출한다. print_tree('B'); 또 B노드를 기점으로 'D' 노드를 호출한다. 여기서 중요한것은 D노드는..