마이의 개발 블로그
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 처음에는 메시지를 먼저 만들어주고 나중에 마지막 닉네임으로 전부 교체해주는 식으로 접근하였으나, 시간초과와 런타임 에러가 나서 접근방식을 바꾸고 해결된 문제이다. - record를 한 바퀴 돌며 id에 해당하는 마지막 닉네임을 map에 저장 (key: 아이디, value: 닉네임) - 같은 반복문 안에서 Change 명령어를 제외한 Enter, Leave의 경우에만 list에 저장 - list 사이즈만큼 String[] answer 생성 - map.get 메서드로 ID 가져오기 (중요) - Enter, Lea..

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

[프로그래머스] 프린터 (Java)

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 우선순위 대기열이다보니 스택이나 큐를 사용해서 풀어보려고 했는데 결국 반복문으로 해결했다. - 계속 한쪽방향으로 순회하며 1) 문서의 가장 큰 우선순위 여부 체크 2) 가장 큰 우선순위인 경우 프린트 (해당 문서 우선순위를 0으로 변경) 3) 프린트 순서(order) 증가 4) 프린트된 문서가 location인 경우 순서 반환 Note - 이 문제의 경우 탐색이 끝난 후 다음 index로 넘어갈 때 자동으로 이전 index의 문서가 마지막 프린트 우선순위가 되므로 별도로 문서의 우선순위를 저장할 필요가 없다고..

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

[프로그래머스] 우박수열 정적분 (Java)

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 방식 제시된 용어와 그래프에 잠깐 당황하긴 했으나 이해하고보니 구간별 면적을 구하여 더하면 해결할 수 있는 문제였다. 로직 설명 - 숫자 k에 대한 우박수열을 구하여 ArrayList에 저장함 (구간별 그래프의 높이) - 제시된 x좌표 유효 여부 판별 후 예외처리 - 제시된 x좌표들을 기준으로 구간별 면적 산출 후 더해주기 (사다리꼴: (윗변 + 아랫변) * 높이 / 2) 작성 코드 import java.util.*; class Solution { public double[] solution(int k,..

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

[프로그래머스] 다트 게임 (Java)

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 노가다 이외의 방법으로 풀어보려고 몇 번 두고 계속 봤던 문제인데, 결국 문제를 읽으며 예외처리를 하나씩 추가해나가는 방식으로 문제를 풀 수밖에 없었다. - 다트 던지기가 3라운드로 제한되어 있으니 숫자별로 자르는 동작 없이 한 번에 문자 한 개씩 읽어가며 문제를 해결하고자 함. 이를 위해 별도의 int[] arr, idx를 선언하여 사용 - 숫자를 읽어올 때마다 직전 점수를 int[] arr에 저장함 - 현재 문자가 숫자인데 다음 문자가 '0'일 경우 숫자 10으로 판단, 10으로 저장 후 인덱스 두 번 증..

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

[프로그래머스] 멀리 뛰기 (Java)

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1 또는 2를 더하여 주어진 n까지 도달할 수 있는 경우의 수를 계산한 후 1234567로 나눈 나머지를 구하는 문제이다. - DFS를 재귀로 구현하여 사용했는데 시간초과가 발생함 - 구현하고보니 피보나치수열임을 발견, 배열로 변경하여 문제 해결 Note - for문 내부에서 덧셈 연산 시 1234567로 바로 나누어 나머지를 배열에 저장했다. 덧셈 결과만 먼저 저장하는 경우 오버플로우 발생으로 테스트 케이스 7번부터 끝까지 실패한다. class Solution { public long solution(int..

  • format_list_bulleted 코딩테스트/프로그래머스
  • · 2023. 1. 20.
  • textsms
[프로그래머스] 신고 결과 받기 (Java)

[프로그래머스] 신고 결과 받기 (Java)

코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr 작성 코드 1. 한 유저당 한 사람에 대해 1회만 신고가 유효하므로 report 중복값을 제거한 후 reportList에 저장한다. 2. reportList를 읽어 신고자와 신고당한자의 이름을 각각 reportArray[i][0], reportArray[i][1]에 저장한다. 3. reportArray를 돌며 각 유저가 신고당한 횟수를 reportCount배열에 저장한다. 4. 정지 당한 유저 (2회 이상)를 체크한 후, 각 신고자가 받을 처리 결과 메일..

  • format_list_bulleted 코딩테스트/프로그래머스
  • · 2022. 3. 5.
  • textsms
  • navigate_before
  • 1
  • ···
  • 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)
최근 글
인기 글
최근 댓글
태그
  • #구현
  • #스프링
  • #개발자
  • #docker
  • #코딩테스트
  • #주니어
  • #도커
  • #Java
  • #spring
  • #프로그래머스
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바