블로그 최신 글

  • 프로그래머스 숫자 짝꿍 with 자바

    프로그래머스 숫자 짝꿍 with 자바

    https://school.programmers.co.kr/learn/courses/30/lessons/131128 풀이 X와 Y가 가지고 있는 숫자들 중에서 중복된 숫자들만 찾으면 된다 우선 X를 한 글자씩 돌면서, 해당 숫자를 카운트 해준다 int[] count = new int[10]; // X가 가지고 있는 숫자 담을 배열 // X의 숫자 카운트 for (int i = 0; i < X.length(); i++) { char c = X.charAt(i); int n = c - '0'; count[n]++; } 그 후, Y를 한 글자씩 돌면서, 해당 숫자를 X가 가지고 있는지 확인하고 X가 가지고 있다면, 카운트에서 값을 하나 빼준다 이러면 X와 Y가 중복으로 가지고 있는 숫자임을 찾은 셈이므로 중복..

  • 백준 1541 잃어버린 괄호 with 자바

    백준 1541 잃어버린 괄호 with 자바

    https://www.acmicpc.net/problem/1541 풀이 먼저 "-"를 기준으로 문자열을 쪼개 준다 55-50+40의 경우 문자열을 쪼개면 55와 50+40으로 쪼갤 수 있으며 String 배열에 {"55", "50+40"}으로 담을 수 있다 이제, 배열의 0번 인덱스부터 뒤로 가면서 배열의 원소에 있는 수식을 계산하고, 계산한 결과를 빼주면 된다 0번 인덱스인 55에서 다음 원소인 50+40을 계산하고, 계산 결과인 90을 빼주면 된다 더하기만 있는 수식을 계산하는 함수이다 static int sumFormula(String s) { String[] ss = s.split("\\+"); int sum = 0; for (int i = 0; i < ss.length; i++) { sum +=..

  • 백준 1043 거짓말 with 자바

    백준 1043 거짓말 with 자바

    https://www.acmicpc.net/problem/1043 풀이 먼저 각 파티에 있는 사람끼리 그래프로 연결하고 각 파티마다 진실을 알고 있는 사람이 있는 경우 해당 파티에 있는 나머지 사람들도 진실을 알고 있다고 상태를 변경한 다음 다시 한번 전체 파티를 돌면서 파티에 진실을 알고 있는 사람이 한 명이라도 있는 경우 전체 파티 개수에서 파티 개수를 빼주면 된다 전역 변수를 다음과 같이 선언해준다 static int N; static int M; static boolean[] visited; // 최종적으로 진실을 알고있는 사람 static Queue knowns; // 처음에 진실을 알고있는 사람 static Input[] inputs; // 받은 입력값 저장 (파티 정보) static Link..

  • 백준 2636 치즈 with 자바

    백준 2636 치즈 with 자바

    https://www.acmicpc.net/problem/2636 풀이 테두리(0,0)에서부터 2차원 배열을 치즈가 다 없어질 때까지 반복적으로 전체 탐색하면 된다 탐색할 때는 4방향 탐색을 하여 치즈가 있는 경우는 해당 위치를 기억하고 탐색이 다 끝나면 해당 위치의 치즈를 삭제해 주면 된다 전역 변수를 선언해 주고 static int N; static int M; static boolean[][] arr;// 2차원 배열 static int totalCount;// 전체 치즈 개수 static int[] di = {-1, 1, 0, 0};// 4방향 탐색에 쓰일 행 인덱스 static int[] dj = {0, 0, 1, -1};// 4방향 탐색에 쓰일 열 인덱스 static boolean[][] vi..

  • 백준 5430 AC with 자바

    백준 5430 AC with 자바

    https://www.acmicpc.net/problem/5430 풀이 더블리 링크드 리스트를 학습하기 아주 좋은 예제이다 진짜 그냥 더블리 링크드 리스트 구현해서 풀면 된다 링크드 리스트에 사용할 노드 클래스를 구현해주고 private static class Node { int n; Node pre; Node next; public Node(int n) { this.n = n; } } head와 tail을 선언하고 head와 tail 중 어떤 노드를 가리키는지 표시할 current와 아무것도 없는데 D를 한 경우를 확인하기 위한 에러 플래그를 선언해준다 static Node head; static Node tail; static Node current; static Boolean flag; 숫자 차례대..

최근 인기글

  • NAS Docker 컨테이너 시작시 자동 실행할 명령 설정하기

    NAS Docker 컨테이너 시작시 자동 실행할 명령 설정하기

    /root 디렉토리로 이동한다 vim 으로 .bashrc 파일 열어준다 G를 눌러 파일의 맨 끝으로 이동해 준다 o를 눌러 커서 위치를 바로 다음 줄로 옮기고 입력 모드를 시작한다 이제 컨테이너가 시작하면 자동으로 실행할 명령을 넣어주면 된다 필자의 경우 장고 서버를 실행해주는 명령을 넣었다 ESC를 누른 후 :를 누른 후 wq를 입력하고 빠져나온다 컨테이너를 재시작 하면 명령이 자동으로 실행되는 것을 확인할 수 있다

  • 3D 홀로그램 게임 할 수 있는 AR시스템

    3D 홀로그램 게임 할 수 있는 AR시스템

    스타트업 기업인 틸트 파이브(Tilt Five)는 AR을 이용해 3D 홀로그램으로 게임을 할 수 있는 시스템을 개발했다. AR 안경을 착용하면 게임보드에서 3D 홀로그램이 나온다. 보드를 통해 퍼즐 게임부터 어드벤처 게임 또는 레이싱 게임까지 다양한 AR 게임을 할 수 있다. AR 안경에는 HD 마이크로 프로젝터와 카메라가 장착되어 있다. 카메라는 보드 위의 손, 카드, 토큰 등을 인식한다. AR 안경의 무게는 85g이며 110도의 시야각을 가지고 있다. 마이크뿐만 아니라 스테레오 스피커도 내장되어 있어 온라인 게임에서 다른 플레이어들과 소통할 수 있다. 게임 시스템에도 인터넷이 연결되어 있기 때문에 유튜브나 트위치와 같은 플랫폼으로 게임을 스트리밍 할 수도 있다. 이 3D AR 게임 시스템은 2020년..

  • 소니 콘솔과 호환되는 홀로그램 디스플레이

    소니 콘솔과 호환되는 홀로그램 디스플레이

    소니가 게임 콘솔과 호환되는 3D 홀로그램 디스플레이를 개발하고 있다. 소니는 미국 특허청(USPTO)에 홀로그램 디스플레이에 대한 특허를 신청했으며, 2019년 9월 3일에 특허가 공개되었다. 이 특허는 홀로그램 콘텐츠를 보여 줄 수 있는 디스플레이의 기술적인 작동 방법을 기술하고 있다. 현재 즐길 수 있는 일반적인 3D와 달리, 소니의 홀로그램 디스플레이는 3D 안경 없이 사용할 수 있다. 소니의 홀로그램 디스플레이는 마이크로 미러를 이용하여 왼쪽 눈과 오른쪽 눈에 각각 다른 이미지를 투영시켜 이미지가 3D로 보이도록 한다. 또한, 카메라와 광센서를 이용하여 게이머와 디스플레이까지의 거리를 계산하며 눈 깜빡임, 윙크, 고개를 끄덕이는 제스처까지 인식할 수 있다. 이 홀로그램 디스플레이의 가장 위대한 ..

  • 삼성 공중에 화면을 띄우는 기술

    삼성 공중에 화면을 띄우는 기술

    삼성은 2018년 미국 특허청(USPTO)에 영상장치를 포함한 전자장치에 대한 특허를 출원했으며, 2019년 9월 19일에 데이터베이스가 공개되었다. 삼성은 2D 사진을 3D 입체 영상이나 에리어 이미지(aerial image)*로 변환할 수 있는 기술을 개발했으며, 이 기술을 도킹 스테이션으로 구현할 수 있게 했다. 스마트폰에 도킹 스테이션을 장착하면, 스마트폰 화면에 표시되는 이미지를 공중으로 투사할 수 있다. 특허 설명에 따르면, 공중으로 투사된 투영 품질은 스마트폰 화면으로 보는 품질과 동일할 것이라고 한다. 이 도킹 스테이션은 움직임을 감지할 수 있는 터치 패널을 제공하기 때문에 공중에서 투사된 화면을 제어할 수 있다. 즉, 스마트폰을 터치하지 않아도 공중에서 음악을 조절하거나 메시지를 보내는 ..