profile
java 주니어
post-thumbnail

[백준/1713]java.후보추천하기

문제를 보자. 후보를 일정기간동안 추천에 의하여 정해진 수만큼만 선정한다고 한다. 정해진 수만큼 후보들의 사진을 걸기위해 사진틀을 미리 만들어놨다고 하고, 시작하기전엔 모두 비어있으나 특정학생을 추천하면 반드시 사진틀에 게시돼야한다. 비어있는 틀이 없을경우 현재까지의 추천수가 가장적은 후보를 삭제하고 받았던 표는 0개가 된다. 그후 새로운 후보를 추가한다. 이때 현재까지 받은 추천이 가장적은학생이 두 명 이상일경우에는 오래게시됐던 후보를 삭제시킨다. 만일 후보에 이미 올라있는 학생을 추천할시에는 받은득표수만 +1이 된다.

2022년 12월 13일
·
0개의 댓글
·
post-thumbnail

java/Comparable

Comparable < comparable 은 인터페이스며 지금까지 정렬을 위해 사용한다고 생각했다. 반쪽짜리 정답을 외운 채 알고리즘 프로그래밍 문제를 풀이하다 벽에 부딪혔다. comparable 은 객체끼리 비교 할 수 있도록 한다. 정확히는 주체가되는 것은 자기자신객체며 매개변수로 들어오는 객체와의 비교를 한다. 이해를 위해 조금은 조잡한 예제를 만들어봤다. 이러한 클래스로 객체 5개 를 생성하고 List에 추가하여 최대마력을 가지고 오름차순으로 정렬하려고한다. 현재는list에 추가 된 데이터 순서로 정렬 돼있을것이다. 이것을 원하는 모양으로 정렬하기위해서 어떻게 해야할까? 먼저 데이터가 Integer형식이라면 sort 함수를 활용하여 쉽게 정렬할 수 있다. 이같은 경우라면 a < b 라는 것은 java가 알 수 있다는 말이다. 하지만 지금 리스트에 추가된 데이터형식은 내가 만든 Car클래스형식이다 때문에 리스트에 추가된 객체는 사

2022년 12월 12일
·
0개의 댓글
·
post-thumbnail

백준 1417 국회의원 선거 / 문제풀이 java

백준 실버 5 티어 문제 국회의원 선거 입니다. 우선순위큐를 알고있다면 더 쉬웠을것 같기도하고 하지만 우선순위큐 공부를 진행하지 않았기 때문에 배열만 가지고 문제를 풀었다. 일단 다솜이는 나쁜녀석이다. 간략하게 설명하면 다솜이는 기호 1번으로 출마하였고 N명의 후보자들이 있다. 다솜이는 재능으로 마을사람들의 마음을 읽어 N명의 후보자의 득표수를 미리 알 수 있었고 자신이 당선되기 위해 마을사람들을 돈으로 매수하기로하였다.. 따라서 최소 몇명을 매수하여야 당선될 수 있는지 를 구하면 되는 문제였다. 생각해보기 최댓값을

2022년 11월 30일
·
2개의 댓글
·

<페어 코딩 스터디> 현업 예습

페어코딩 두명이 페어 즉, 짝이 되어 서로에게 네비게이터가 되어주고 한명은 드라이버가 되어 네비게이터가 안내하는 방향으로 드라이버는 코드를 작성하게 된다. 이렇게 같이 공부하는 사람들끼리 모여 주 3회 페어코딩 활동을 하고 있다. 페어코딩을 진행할 때는 자신이 맡게 된 알고리즘 문제를 최대한 완벽히 이해하고 풀어 내어 네비게이터가 드라이버에게 설명하면서 풀이를 진행하게 된다. **현업에 한발자국도 들여보지 않았지만 준비해야 할 소양으로 몇가지가 예상됐다.** > 동료와 친하게 지내야 한다는 것 우선 첫번째로 원래 성격이 어떻든 불편하지 않으려면 친해지는것이 옳다고 생각한다. 같은 스터디그룹의 페어 라는 것이 비단 회사 동료와 다르지 않다. 내가 깨닫는 노하우와 상대가 깨닫는 노하우를 공유하게 되면 혼자 열심히 공부하는 것보다 한 두 걸음은 쉽게 성장 할 수 있다고 생각한다. > 내가 작성한 코드들을 깔끔히 정리하며, 또 상대방이 이해할 수 있도록 설명하는 것

2022년 11월 30일
·
2개의 댓글
·

재귀, 다이나믹 프로그래밍

알고리즘을 공부하면서 컴퓨터를 이용하려하면 내 머리로하는 일도 만만치 않다는 느낌을 받는다. 공부를 시작한지 약 한달동안 체감은 되지 않지만 발전 했으리라 믿고 나같이 개념이 부족한 사람들에게 도움이 되고자 블로그를 작성했다. 재귀메소드 class 메소드에서 메소드를 반환 하면 종료조건이 없는 경우 무한으로 반복되는 재귀 메소드가 만들어진다. 종료조건을 설정하여 메소드를 실행시키면 계속하여 메소드에서 메소드를 반환하며 반복 실행할 것이고, 이말은 원하는 값을 위해 엄청나게 공을 들인다는 뜻이다 메모리도 많이 사용하면서 속도도 느리기 때문에 가독성이 좋다는 장점 외엔 재귀의 장점은 없다고 생각하면 된다. **[_재귀를 사용해야할 때는 물론 있을 것이다. 그러므로 "재귀를 절대 사용하면 안된다" 는 틀렸다. 재귀를 사용할 수 있다고 아무때나 사용하는것은 지양 해야 한다 _-]** 당연한 이야기겠지만 강조하는 부분은 꼭 명심해야 한다. 재귀메소드에 관한 간략한 설명은 마

2022년 11월 23일
·
1개의 댓글
·

java _ this...

**#this란 무엇인가 ** 나는 개발이란 분야와 멀리있던지라 this라는 기본 개념조차 헷갈렸다. 하지만 정말 어이없게도 내가 자주보던 유튜브 생활코딩에 이고잉님께서 꿈에 나타나 1:1로 이해를 돕기위해 많은 문장과 더 자세한 설명을 해주시더라.. 그 꿈은 깨었을지라도 생생하게 기억에 남아 이해를 도와줬다. 그때 들은 지식을 잊지않게 블로그로 남기려고 한다. > 여기서 클래스멤버 변수명과 메소드의 변수명이 같다. left = left; (..) 왼쪽에 있는 left는 클래스멤버이다. 오른쪽 left는 Calculator클래스의 sum메소드 매게변수 left이다. 가독성이 떨어져 이상하게 보이기도 한다. > 클래스 맴버 int left,right; 는 전역에 해당하는 전역변수라 한다. 메서드에서 생성한 변수는 해당 메서드에서만 작용하는 지역변수라 한다. 따라서 이렇게 left앞에 this를 붙혀줌으로써 클래스변수라는것 즉 전역변수 left = 지역함수 left

2022년 11월 14일
·
0개의 댓글
·