블로그 최신 글

  • 프로그래머스 숫자 짝꿍 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; 숫자 차례대..

최근 인기글

  • 한성컴퓨터 ULTRON 3567UC 리얼후기

    한성컴퓨터 ULTRON 3567UC 리얼후기

    주로 모니터 앞에서 시간을 보낸다면, 좀 더 넓고 큰 모니터가 필요할지도 모른다. 이번에 리뷰할 제품 한성컴퓨터 ULTRON 3567UC 커브드 게이밍 리얼 200 은 무려 35인치(89cm)의 21:9 화면비를 지원하며 커브드 화면으로 더 넓은 영역을 제공한다. 명암비에 강점을 둔 A-MVA+패널을 상하좌우 선명한 화질로 볼 수 있는 광시야각을 가지고 있다. 덕분에 조도가 낮은 이미지에서도 편안하게 모니터를 이용할 수 있다. 게이밍 환경에도 최적화가 되어있다. 144Hz를 뛰어넘는 리얼 200Hz를 지원해 초고사율로 더 매끄럽고 섬세한 게임 플레이가 가능하다. 또한, AMD FreeSync를 지원해 화면 찢어짐, 끊김 현상 없이 부드러운 게임 플레이가 가능하다. 사용자의 편의를 위한 기능들도 있다. 사..

  • 싸피 모바일반 2학기 근황

    싸피 모바일반 2학기 근황

    싸피에 들어온 지 10개월 차가 되었다 현재 싸피 2학기 자율프로젝트를 달리는 중이다🏃‍♂️ 현재까지 싸피에서 쌓은 업적들이다 성적우수상 3등🥉 프로젝트 상보다 더 받기 어려운 상인 듯 진짜 열심히 하는 사람한테 준다 성적우수 받으려면 쥰내 열심히 하자 단, SW 역량테스트 모의 등급 높은 사람이 우선순위가 가장 높다 마일리지 제일 두둑하게 준다 개꿀 공통프로젝트 3등🥉 프로젝트 상들 중에서 가장 받기 힘든 상인 것 같다 2학기에 들어와서 본격적으로 시작하는 첫 프로젝트인 만큼 다들 열정이 대단하다 다들 프로젝트에 미쳐있다😱 다들 적당히가 없다 대부분의 팀들이 매일 밤새가며 작업을 하기 때문에 상 받기 즈응말 힘들다 특화프로젝트 1등🥇 개인적으로 가장 재미있었다😁 역시 새로운 것을 배우는 것은 항상 재밌..

  • Remix와 Ganache로 컨트랙트 호출 & 배포 해보기

    Remix와 Ganache로 컨트랙트 호출 & 배포 해보기

    Remix에서 Ganache 프라이빗 네트워크에 컨트랙트 배포, 호출 하기 우선 프라이빗 네트워크를 구동해주고 ganache-cli -d -m -p 7545 -a 5 Remix에서 Environment를 Ganache Provider로 변경한다 *여기서는 3_Ballot.sol 파일을 이용하여 진행하였음 배포를 해보면 ganache에서 결과를 확인할 수 있다 Console에서 Ganache 프라이빗 네트워크에 컨트랙트 배포, 호출 하기 배포하기 다른 cmd 창을 열어서 프라이빗 네트워크에 연결을 해준다 geth attach http://localhost:7545 컨트랙트를 배포하기 위해서는 ABI와 바이트코드가 필요하다 ABI는 Remix에서 컴파일한 결과로 얻을 수 있다 바이트 코드는 Remix에서 컨..

  • 안드로이드 - Sharedpreference  [패스트 캠퍼스 챌린지 27일차]

    안드로이드 - Sharedpreference [패스트 캠퍼스 챌린지 27일차]

    Sharedpreference 안드로이드의 데이터베이스중 하나이다 Key-value 방식으로 데이터를 저장한다 간단한 데이터를 저장하기 위한 용도로 하드한 데이터베이스 시스템과는 거리가 멀다 Sharedpreference 구현 Sharedpreference을 가져와서 만들어주면 된다 Sharedpreference를 여러개 만들 수 있기때문에 각각을 구분해주기 위해서 첫번째 인자로 Sharedpreference의 이름을 설정해야한다 두번째 인자로는 모드를 넣어준다 모드의 종류에 대해 간단하게 알아보겠다 MODE_PRIVATE : 생성한 application에서만 사용 가능 MODE_WORLD_READABLE : 다른 application 사용 가능 -> 읽을수만 있다 MODE_WORLD_WRITABLE :..

  • Direct Access Table과 Hash Table

    Direct Access Table과 Hash Table

    다음과 같은 key-value쌍의 데이터를 저장하려고 한다 key-value쌍을 저장하는 기본적인 두 가지 방법에 대해 알아보자 Direct Access Table 배열의 인덱스로 바로 접근하는 방법이다 배열에서 인덱스를 순서가 아니라 key라고 생각하고 key-value쌍을 저장하는 방식이다 key를 바탕으로 배열의 인덱스에 데이터를 저장한다 '57'키는 배열의 57번 인덱스에 저장하고 '208'키는 배열의 208번 인덱스에 저장하고 '900'키는 배열의 900번 인덱스에 저장하면 된다 각 key에 해당하는 value를 알고 싶으면 해당 인덱스에 접근하면 된다 가장 큰 장점은 배열의 인덱스에 O(1)으로 바로 접근할 수 있다는 것이다 반면에 단점은 공간을 많이 낭비한다는 것이다 위의 예시를 보면 사용하..