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

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

코딩테스트 연습 - 폰켓몬 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. programmers.co.kr 작성 코드 1. 정렬 (Arrays.sort()) 2. 한 바퀴 돌면서 중복 안 되는 폰켓몬 번호의 최대값(count)이 몇 개인지 찾는다 (for문). 3. 선택가능한 최대개수 n과 count를 비교하여 그 중 큰 값을 정답으로 반환한다. import java.util.*; class Solution { public int solution(int[] nums) { int answer = 0; Arrays.sort(nums); int count = 0; in..

코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr 작성 코드 1. 배포완료된 횟수가 주어진 progresses의 길이와 같을 때까지 반복한다(while문). 2. 한 번 반복 시 배포 완료된 작업을 제외하고, progresses에 speeds를 더한다. 3. 더해진 progresses를 체크하여 완료작업을 배포하고(count++), 완료되었음을 표시해준다(-1). 4. 한 회당 배포완료작업의 개수를 저장하고(list.add(count)), 전체 배포완료개수(countSum)에 더해준다. //내가 작성한 ..

배경 개인 프로젝트로 React.js + SpringBoot 조합으로 일기예보 서비스를 만들어보고 있습니다. 이 프로젝트는 기존 학원 팀프로젝트에서 사용했던 Spring Legacy Project (JSP + Spring)를 벗어나 다른 기술, 특히 학습해놨던 React.js를 한 번 사용해보는게 목적이어서 프론트와 백엔드를 분리하고 간단하게 작업해볼 요량으로 시작했던 프로젝트였습니다. 근데 생각보다 기상청 단기예보 API 사용법을 숙지하고 데이터를 내가 필요한 방향으로 가공하는 데에 시간을 많이 사용하게 되어 사실상 React보다도 API를 공부하는 느낌이 더 강하게 드는 것 같네요. 기상청 단기예보 API 기상청 단기예보 API는 호출방법에 따라 아래 네 개 유형의 데이터를 보내줍니다. - 초단기실황..