콩벌레 개발자의 개발 공부 노트
close
프로필 배경
프로필 로고

콩벌레 개발자의 개발 공부 노트

    • 분류 전체보기 (233)
      • 일상 (7)
        • 일상 이야기 (4)
      • Web (17)
        • Spring Boot (6)
        • CSS (3)
        • HTML (2)
        • JSP (0)
      • R (4)
      • Algorithm (88)
        • 백준 (67)
        • 프로그래머스 (19)
      • ICT COG Academy (8)
        • AI 기본 (8)
      • 계산이론 (6)
      • 데이터 베이스 (1)
      • IOT 네트워크 (1)
      • iOS (63)
        • RxSwift (2)
        • swift (15)
        • 앱 개발 (31)
        • 보안 (1)
        • UIKit (10)
        • SwiftUI (3)
      • 클린 아키텍처 (7)
      • 클린 코드 (3)
      • 컴퓨터 구조 (14)
      • 네트워크 (10)
      • 자료구조 (0)
      • 운영체제 (2)
      • 안드로이드 (0)
      • 개발 (0)
  • mode_edit_outline글작성
  • settings환경설정
  • 홈
  • 태그
  • 방명록
백준 2108번 통계학(Java)

백준 2108번 통계학(Java)

보기엔 쉬워보였지만 막상 풀어보니 최빈값 구하는데 시간이 매우 많이 들었다. 산술평균은 Math.round()를 써서 반올림을 했다. 최빈값을 제외한 나머지는 정렬해서 정렬하 위치에 값에 따라 계산을 해 풀었다. 이 문제의 핵심인 최빈값은 다른 풀이들은 모두 int형 8001개의 배열에 각 index에 해당하면 값을 +1씩 해주는 식으로 풀었지만, 나는 그게 웬지 싫어서 다른방식으로 풀어보았다. 백준에서는 시간오버가 뜨긴 했지만 작동은 잘 되긴 한다. 최빈값 풀이 방법 배열 list가 있다고 하자 1 3 6 3 2 4 1) 이 배열을 Arrays.sort(list)로 정렬 1 2 3 3 4 6 2) 정렬을 한 후 중복되지 않는 수의 배열과 해당 수들에 개수의 배열을 만든다. num_list count_l..

  • format_list_bulleted Algorithm/백준
  • · 2021. 4. 3.
  • textsms
백준 2750번: 수 정렬하기

백준 2750번: 수 정렬하기

입력된 수를 정렬하기만 하면 되는 간단한 문제. 버블정렬, 힙정렬, 삽입정렬, 합병정렬등 여러가지가 있지만, stream을 사용해 정렬을 해보았다. stream을 사용하면 원본은 변하지 않는다. import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); int n=scanner.nextInt(); int[] list=new int[n]; for(int i=0;i

  • format_list_bulleted Algorithm/백준
  • · 2021. 3. 29.
  • textsms
백준 1436번: 영화감독 숌(Java)

백준 1436번: 영화감독 숌(Java)

처음 봤을때는 그냥 n-1에 1000을 곱하고 666을 더하면 안되나 생각했지만, 예외가 있다. 1666,2666,3666일때는 그냥 1000만 더해주면 되지만 끝자리가 666이 아닐때, 즉 6660이거나 16660일때는 6661,6662,6663...이 순서로 적용된다. 따라서 이런 상황일때를 고려해 코드를 짜야한다. 가장 간단한 방법은 1씩 더해서 그 더한 값에 666이 포함되어있으면 카운트를 올리고, 카운트가 n과 같아진다면 출력하는 방법이 가장 간단하다. 하지만 시간이 오래 걸린다. 일단은 가장 간단한 방법으로 풀어보았다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sca..

  • format_list_bulleted Algorithm/백준
  • · 2021. 3. 29.
  • textsms
백준 1018번 체스판 다시 칠하기(Java)

백준 1018번 체스판 다시 칠하기(Java)

정사각형으로 n*m으로 나눠지고 각 칸은 B,W중 하나로 칠해진 판을 체스판으로 만드려고 하는데, 이때 어느부분을 자르면 가장 적게 칠할수 있을지 푸는 문제. 구현은 쉬웠지만, 어떻게 구해야 할지 고민을 많이 했던 문제. 일단 8*8 체스판을 제작하려 했을때, 처음 시작하는 부분, 즉 배열로 따지면 (0,0)에 들어있는 색상에 따라 칠할수 있는 숫자가 달라진다. 색상에 따라 칠하는 수는 "64-색상에따른 칠하는 수"가 된다. 만약 B가 첫번째이면 W가 첫번째로 오는 체스판을 칠하는 수는 B의 수에다가 64를 빼면 된다. 그것만 알면 나머진 풀기 쉬운 문제. import java.util.Scanner; public class Main { public static void main(String[] args..

  • format_list_bulleted Algorithm/백준
  • · 2021. 3. 27.
  • textsms
백준 2798번 블랙잭(Java)

백준 2798번 블랙잭(Java)

구할수 있는 모든 경우의 수를 구해, 그 수중에서 목표인 수에 가장 가까운 수를 출력하는 문제. 반복문으로 n번째 카드를 기준으로 삼고 그 카드를 더할수 있는 모든 경우의 수를 더해 배열에 저장후, 목표값과 가장 가까운 수를 출력하도록 했다. import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); int card_num=scanner.nextInt(); int[] card_list=new int[card_num]; List card_sum=new..

  • format_list_bulleted Algorithm/백준
  • · 2021. 3. 15.
  • textsms
백준 11729번 하노이탑 이동순서(Java)

백준 11729번 하노이탑 이동순서(Java)

유명한 문제. 복잡하게 생각할 수록 어려운 문제다. 장대의 개수가 3개보다 많을시 난이도역시 오르는 문제. 하지만 3개여서 매우 쉽다. 분할정복을 사용해서 풀면 매우 간단하다. 가장 큰 원판을 3번째 장대로 옮기는걸 n번 반복하면 된다. 즉 n번째의 원판을 이동시키려면 n-1번째까지의 원판을 모두 2번째 장대로 옮겨야 된다. 그 후 2번째 장대로 옮겨놓은 판을 다시 3번째 장대로 옮기기만 하면 끝. import java.util.Scanner; public class Main { static void hanoi(int n,int start,int middle,int to){ if(n==1) { System.out.println(start + " " + to); return; } hanoi(n-1,star..

  • format_list_bulleted Algorithm/백준
  • · 2021. 3. 13.
  • textsms
  • 1
  • ···
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
공지사항
카테고리
  • 분류 전체보기 (233)
    • 일상 (7)
      • 일상 이야기 (4)
    • Web (17)
      • Spring Boot (6)
      • CSS (3)
      • HTML (2)
      • JSP (0)
    • R (4)
    • Algorithm (88)
      • 백준 (67)
      • 프로그래머스 (19)
    • ICT COG Academy (8)
      • AI 기본 (8)
    • 계산이론 (6)
    • 데이터 베이스 (1)
    • IOT 네트워크 (1)
    • iOS (63)
      • RxSwift (2)
      • swift (15)
      • 앱 개발 (31)
      • 보안 (1)
      • UIKit (10)
      • SwiftUI (3)
    • 클린 아키텍처 (7)
    • 클린 코드 (3)
    • 컴퓨터 구조 (14)
    • 네트워크 (10)
    • 자료구조 (0)
    • 운영체제 (2)
    • 안드로이드 (0)
    • 개발 (0)
최근 글
인기 글
최근 댓글
태그
  • #swift
  • #2023
  • #IOS
  • #8기
  • #스탠포드 강의
  • #변경된 점
  • #부트캠프
  • #uikit
  • #앱개발
  • #edwith
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바