마이의 개발 블로그
close
프로필 배경
프로필 로고

마이의 개발 블로그

  • 전체보기 (128)
    • 개발지식 (57)
      • Web (8)
      • Spring (13)
      • Node.js (2)
      • Django (5)
      • Java (3)
      • JavaScript (2)
      • 자료구조 (3)
      • OS (3)
      • 디자인패턴 (2)
      • 인프라 (9)
      • 기타 (7)
    • 코딩테스트 (50)
      • 프로그래머스 (47)
      • 구름LEVEL (3)
    • 생각들 (14)
    • 팁 모음 (6)
  • 홈
  • 태그
  • 방명록

[프로그래머스] 유한소수 판별하기 (Java)

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 난이도가 높은 문제는 아닌데 다른 사람 풀이 중에 너무 간단한 답변이 있어 기록을 남기려고 가져와봤다. - 두 수의 최대공약수를 구함 (gcd) - 기약분수로 만들기 위해 분모를 최대공약수로 나눠줌 - n = 2부터 시작하여 소인수분해(나머지가 0이면 계속 나눠주고 아니면 n 증가) - 나뉘는 숫자가 2나 5가 아닐 경우 무한소수이므로 2 리턴 Note - 이거 풀었다고 3점 주던데 프로그래머스 점수 산정 기준이 뭔지 모르겠다. - 아래는 내 답안 class Solution { public int soluti..

  • format_list_bulleted 코딩테스트/프로그래머스
  • · 2023. 2. 22.
  • textsms

[프로그래머스] 롤케이크 자르기 (Java)

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 배열을 하나씩 잘라가며 양쪽의 토핑 종류 개수를 (토핑개수 x) 비교하는 문제이다. - 형(older)은 HashMap으로, 동생(younger)은 HashSet으로 선언 - topping 배열을 한 바퀴 돌며 older한테 전부 넣어주기 : put(토핑번호, 개수); - topping 배열을 한 바퀴 돌며 1) 해당 토핑을 older에서 1개 빼기 (1개 뺀 후 0개인 경우 키값 제거 필요함. 키의 개수가 size()로 잡히기 때문) 2) 해당 토핑을 younger에 넣어주기 3) older와 younger..

  • format_list_bulleted 코딩테스트/프로그래머스
  • · 2023. 2. 21.
  • textsms

[프로그래머스] 캐시 (Java)

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Least Recently Used (LRU) 캐시 알고리즘을 구현하는 문제로 특이사항은 없었다. - cacheSize가 0인 경우 전부 miss이므로 (5 * cities 배열 길이) 반환 - cache로 사용할 LinkedList 선언 - cities를 탐색하며 1) 도시 이름 city 소문자로 변경 2) cache를 탐색하며 hit인 경우 현재 위치의 city 제거 후 0번 위치에 city삽입, isHit true로 변경 (시간: 1) 3) miss인 경우(!hit) cache가 찼는지를 확인하여 마지막..

  • format_list_bulleted 코딩테스트/프로그래머스
  • · 2023. 2. 19.
  • textsms

[프로그래머스] 큰 수 만들기 (Java)

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음에 완전 탐색으로 풀었다가 몇몇 테스트 케이스에서 시간 초과가 나서 그리디로 변경해서 푼 문제이다. - 한 번 탐색 시 한 자릿수의 최대값을 찾아야함 - 한 번 탐색 시 탐색 범위는 '탐색할 한 자릿수를 제외한 나머지 자릿수를 문자열의 마지막에 몰아넣은 상태에서 남는 모든 자릿수'임. - 예를 들어, number = 4177252841, k = 4인 경우 첫 번째 반복 시 41772까지 탐색하고, 52841은 뒤에 몰아넣은 상태에서 41772에서의 최대값인 첫번째 7을 결과에 추가함. 두 번째 반복 시에는..

  • format_list_bulleted 코딩테스트/프로그래머스
  • · 2023. 2. 16.
  • textsms

[프로그래머스] 마법의 엘리베이터 (Java)

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 예외사항이 너무 많은데 테스트케이스 오픈이 안 되어있어 다른 사람들의 힌트를 참고하여 케이스를 하나씩 때려잡아야 했던 문제이다(코드참조 x). 그래서 그런지 5점이나 주긴 했는데 풀어놓고도 딱히 다른 문제풀이에 도움이 될 것 같진 않다는 인상을 많이 받았다. - 주어진 숫자 storey를 오른쪽에서부터 한 자리씩 탐색함 - 자릿수가 0~4일 때는 빼서 내림하는게 유리함 (첫 번째 if문) - 자릿수가 6~9일 때는 더해서 올림하는게 유리함 (두 번째 if문) - 자릿수가 5일 때 1) 직전 자릿수(현재의 오른..

  • format_list_bulleted 코딩테스트/프로그래머스
  • · 2023. 2. 14.
  • textsms

[프로그래머스] 소수 찾기 (Java)

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 전체 조합 만들기 + 소수 구하기의 두 가지를 수행하면 해결할 수 있는 문제이다. - 문자열 쪼개서 배열로 저장하기 : String[] arr - arr 각 요소의 방문 여부를 체크해줄 int 배열 선언 : int[] visited - 전체 조합 숫자를 넣어줄 set 선언: HashSet set - 재귀 함수를 사용하여 완전 탐색을 통해 전체 문자열의 조합 구하기 : private void addNum 1) 현재 문자열 삽입 (빈문자열 제외) 2) arr 배열을 탐색하며 2-1) visited 배열에서 방문체..

  • format_list_bulleted 코딩테스트/프로그래머스
  • · 2023. 2. 10.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • navigate_next
공지사항
전체 카테고리
  • 전체보기 (128)
    • 개발지식 (57)
      • Web (8)
      • Spring (13)
      • Node.js (2)
      • Django (5)
      • Java (3)
      • JavaScript (2)
      • 자료구조 (3)
      • OS (3)
      • 디자인패턴 (2)
      • 인프라 (9)
      • 기타 (7)
    • 코딩테스트 (50)
      • 프로그래머스 (47)
      • 구름LEVEL (3)
    • 생각들 (14)
    • 팁 모음 (6)
최근 글
인기 글
최근 댓글
태그
  • #코딩테스트
  • #개발자
  • #Java
  • #docker
  • #스프링
  • #주니어
  • #프로그래머스
  • #구현
  • #spring
  • #도커
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바