(Java) 프로그래머스 기능 개발
·
코딩 테스트
처음으로 큐를 사용한 문제를 풀어보았다. 큐의 개념은 알고 있었지만 실제로 어떻게 사용하는지 잘 몰랐었는데 실제로 문제를 풀다보니 대략 어떤 느낌인지 알 것 같다. 처음 풀 때는 기능 개발이 완료되어도 배포는 그 다음날에 한다는 조건을 잊고 올림 계산을 하지 않았다. 테스트 케이스에서 통과를 못했는데 한참 고민하다가 해결했다. 최종 코드 import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import java.util.Queue; class Solution { public int[] solution(int[] progresses, int[] speeds) { // 완료 일자를 계산하기 위해 큐 생성 Queue da..
(Java) 프로그래머스 로또의 최고순위와 최저순위
·
코딩 테스트
문제를 보고 처음에는 새로운 배열을 만들어서 비교를 해봐야 하나 생각했다. 그런데 반환 값이 최고 순위와 최저 순위이니 그렇게 하는 건 불필요하다고 생각하고 답안을 작성했다. 최종 답안 class Solution { public int[] solution(int[] lottos, int[] win_nums) { int match = 0; int zero = 0; // 두 배열을 비교해서 최저 순위 구하기 for(int i=0; i
(Java) 프로그래머스 체육복
·
코딩 테스트
프로그래머스 1단계 체육복 문제이다. 다른 1단계들 보다 확실히 어렵다는 생각이 들었다. 그리디 알고리즘을 이용해서 해결하는 문제로 분류되어 있는데 그리디 알고리즘이란 어떤 것을 결정할 때 그 순간에서 가장 좋아 보이는 것을 선택하는 것이다. 일반적인 문제 상황에서는 그리디 알고리즘을 이용하는것이 최적의 해결방안은 아니나 코딩 테스트에서는 출제자가 그리디 알고리즘을 이용하면 그것이 최적의 해가 보장되게 출제한다고 한다. 처음 작성한 코드 import java.util.*; class Solution { public int solution(int n, int[] lost, int[] reserve) { // 체육복을 상태를 나타내기 위한 배열 만들기 int[] temp = new int[n]; // 체육복..
(Java) 프로그래머스 직사각형 별 찍기
·
코딩 테스트
코딩 테스트를 준비하면서 처음으로 프로그래머스 연습문제를 풀어보았다. 알고리즘 문제를 지금까지 한번도 풀어본적이 없어 이렇게 간단한 문제도 푸는데 거의 한시간이 걸렸다... 처음 답안 package programmers; import java.util.Scanner; public class Box { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int b = sc.nextInt(); String ar = "*"; String br = "*"; String re = ""; for(int k=0; k < a -1; k++) { re += ar; } for(int i=0; i ..
국비학원 파이널 프로젝트, 그리고 수료
·
국비지원
1. 드디어 끝 2021.08.04일 파이널 프로젝트 발표와 수료식이 있었다. 5개월 정도 진행되었던 교육 기간을 돌아보면 정말 많은 것이 바뀌었다. 개발에 대해 아무것도 모르던 나는 개발자로서 입문 정도는 했고 책장에 인문학 책 대신 개발 관련한 서적이 채워졌다. 아무 생각 없이 이용하던 엘리베이터를 보면서도 엘리베이터 프로그램의 작동원리에 대해 궁금해졌고, 이용하는 홈페이지의 불편한 부분들에 대해서 "나라면 이 부분을 어떻게 개선할 것인가" 등등의 생각을 하기 시작했다. 파이널 프로젝트를 진행하며 마음고생할 때는 빨리 수료가 찾아오길 기대했지만 막상 다 끝나고 나니 후련한 마음보다는 복잡 미묘한 감정이 들었다. 파이널 프로젝트에 대한 아쉬움이 진하게 남았고, 취업이라는 거대한 시련이 기다리고 있기 때..
Gmail Smtp 555 5.5.2 Syntax error 해결방법
·
Spring
Gmail Smtp 555 5.5.2 Syntax error 수업시간에 배운 JavaMailSender를 이용하여 테스트 이메일을 보내보려고 코드를 작성했다. package com.kh.spring17; import java.util.Properties; import org.junit.Test; import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.JavaMailSenderImpl; //목표 : 독립테스트로 이메일 발송 //1. 전송도구 : JavaMailSender(JavaMailSenderImpl) //2. 메세지객체 : SimpleMailMessage public class Test01 {..
국비학원 세미 프로젝트가 끝나고
·
국비지원
4월 13일 부터 시작했던 프로젝트 회의 기간을 거쳐 5월 24일부터 6월 7일간 2주간의 개발일정을 마쳤다. 처음으로 프로젝트라는 것을 경험했고 많은 경험이 되었다고 생각한다. 느낀점 1. 기능들을 구현하기전에 명확한 설계가 필요하다. - 어느정도까지 기능을 구현할 것인지, 몇개의 기능을 내가 담당할 것인지. 2. 남의 코드나 구현한 기능들을 이해하는게 어렵다. - 자바, css, html 등 각 언어에 대한 규칙을 지키고 주석을 잘 달아놓자 3. 다른 사람들과 목표점과 나의 목표점이 다르다. - 팀 프로젝트 상황에서는 전체적인 퀄리티나 기능들이 내가 마음에 드는 만큼이 아닐수도 있다. 내가 만족하려면 결국 더 고생해야 한다. 4. 코드를 복사해 사용하면 내 지식이 아니다. - 이해하지도 못하고 내 마..