목록내일배움캠프/Java (9)
ballqs 님의 블로그
오늘의 일정9:00 ~ 10:00 - 알고리즘 코드카타10:00 ~ 12:00 - 팀 프로젝트 발표 준비12:00 ~ 13:00 - 점심시간13:00 ~ 17:00 - 팀 프로젝트 발표17:00 ~ 18:00 - KPT 작성18:00 ~ 19:00 - 저녁시간19:00 ~ 22:00 - KPT 작성22:00 ~ - TIL 작성알고리즘 코드카타이번 문제는 난이도가 조금 있어보였다.프로그래머스의 쿼드압축 후 개수 세기 라는 문제였고 풀어봤다.해당 문제는 2^n * 2^n 크기의 2차원 배열이 있고 안에는 0과 1이 값들이 무작위로 들어가 있다.글로 설명보다는 아래의 입출력 예 설명으로 보는게 가장 빠를 것이다. 제한사항arr의 행의 개수는 1 이상 1024 이하이며, 2의 거듭 제곱수 형태를 ..
오늘의 일정9:00 ~ 10:00 - 알고리즘 코드카타10:00 ~ 12:00 - 팀 프로젝트 PPT 작성12:00 ~ 13:00 - 점심시간13:00 ~ 18:00 - 팀 프로젝트 PPT 작성18:00 ~ 19:00 - 저녁시간19:00 ~ 22:00 - 팀 프로젝트 PPT 작성22:00 ~ - TIL 작성알고리즘 코드카타프로그래머스 소수 찾기라는 문제를 풀었다.해당 문제는 숫자만 들어있는 문자열이 주어지고 해당 문자열을 하나씩 분리한 다음에 온갖 조합을 통해 숫자를 만들어내고 그 숫자가 소수인지를 찾는 문제였다. 제한사항numbers는 길이 1 이상 7 이하인 문자열입니다.numbers는 0~9까지 숫자만으로 이루어져 있습니다."013"은 0, 1, 3 숫자가 적힌 종이 조각이 흩어져있..
오늘의 일정9:00 ~ 10:00 - 알고리즘 코드카타10:00 ~ 12:00 - 팀 프로젝트12:00 ~ 13:00 - 점심시간13:00 ~ 16:00 - 팀 프로젝트16:00 ~ 17:00 - 나무반 강의17:00 ~ 18:00 - 팀 프로젝트 18:00 ~ 19:00 - 저녁시간19:00 ~ 22:00 - 팀 프로젝트22:00 ~ - TIL 작성알고리즘 코드카타프로그래머스의 롤케이크 자르기 문제를 풀이를 진행했다.해당 문제는 롤케이크에 토핑이 올라가 있는데 해당 토핑에는 여러가지 종류가 있다. 이 롤케이크를 형과 동생이 두조각으로 나눠 먹을때 서로 먹은 토핑의 개수가 같을 경우가 몇회 정도인지 구하는 문제이다.잘린 롤케이크 위에 올려진 토핑은 중복을 제거하고 개수를 세어서 비교하면 ..
오늘의 일정9:00 ~ 10:00 - 알고리즘 코드카타10:00 ~ 10:30 - 팀프로젝트 발제10:30 ~ 12:00 - 팀 회의12:00 ~ 13:00 - 점심시간13:00 ~ 17:00 - 팀 회의17:00 ~ 18:00 - 팀 프로젝트18:00 ~ 19:00 - 저녁 시간19:00 ~ 20:30 - 팀 프로젝트20:30 ~ 21:00 - TIL 작성알고리즘 코드카타뒤에 있는 큰 수 찾기 알고리즘 풀이를 진행했다.해당 문제는 정수로 이루어진 배열 numbers가 있는데 여기서 각 원소들의 대해 자신보다 뒤에 있는 숫자 중에서 자신보다 큰수를 배열이 담아서 return 하는 방법이다.다만 하나의 예외적인 상황이 있는데 큰수가 존재하지 않으면 -1를 담는다. 제한사항4 1입출력 예numbersresu..
1.오늘 배운 것아무래도 개인학습조에 속해있다보니 거의 많은 시간을 코딩문제에 부딪혀가면서 모자란 부분을 배워가는건 오늘이 마지막이 아닌가 싶다. 오늘 배운것은 프로그래머스 코딩 문제인 피보나치 문제를 풀면서 부딪힌 문제였다.주어진 조건이 n의 값이 2이상 100,000 이하인 자연수다보니 수가 말도 안되게 커지면서 용량 초과로 에러난 것이기에 여러 자료형을 조사하게 되었다. 2.문제 풀어나가는 과정피보나치는 기본적인 개념은 알고 있었다.첫째 및 둘째 항이 1이며 그 뒤의 모든 항은 바로 앞 두 항의 합인 수열이다.F(0) + F(1) = F(2) 0 + 1 = 1F(1) + F(2) = F(3) 1 + 1 = 2F(2) + F(3) = F(4) ..
1.오늘 배운 것2022 카카오 블라인드 코딩 문제를 풀다가 어떻게 접근해야할지 수없이 고민을 하다가 배운 것이 있다.Set을 사용하는 것과 Map에 Set를 적용하여 사용하는 방법에 대해서 알게 되었다. 2.문제 풀어나가는 과정2022 카카오 블라인드 신고 결과 받기 코딩 문제를 푸는 도중 문제에 맞닥뜨렸다.각 멤버가 다른 멤버를 신고하며 횟수에 따른 메일 발송 유무를 정하는 그런 프로세스가 필요했다.다만 중복 신고가 있으면 1회 신고한 것으로 간주한다는 특수 조건이 있었다어떻게 접근할까 고민을 많이 하다가 생각해낸 것이 Set이였다.중복으로 신고를 해도 Set를 통해 중복 요소를 허용하지 않게 된 것이다.Set의 기본 사용은 아래와 같다.Set set= new HashSet();set.add("a")..
1.오늘 배운 것오늘도 코딩 문제를 풀다가 막힌 부분이 생겨서 알던 내용은 복습하기 위해 모르던 내용은 기록을 위해 작성한다.우선적으로 복습하는 내용은 for문의 수행순서이다! 이걸 왜 이상하게 생각하고 있었는지 지금 생각해보면 슬프다. 자세한 내용은 개념 정리부분에 작성하겠다.모르던 내용은 toCharArray() 라는 메소드와 StringBuilder에 대해 배우게 되었다. 2.개념 정리for문코딩 문제를 풀다가 증감식이 선증가면은 ④이 먼저 동작하고 ②에 가서 조건식에 가는 줄 알았다.어쩌다가 그렇게 생각을 하게 되었는지 다시 되새기고자 아래와 같이 이미지로 그려놓는다.해당 for문의 동작 순서는 이러하다초기식에 값을 선언 해 놓는다.조건식에 가서 조건에 맞는지 검사한다.조건이 맞을 경우 실행코드로..
1.오늘 배운 것오늘 코딩 문제를 풀다가 막힌 부분이 생겨서 공부를 하다가 알게된 내용이 있다.소수 판별하기 와 약수 구하기에 대한 방법론을 알게 되었고 Integer를 == 로 비교하는 것과 equals로 비교하는 것의 차이에 대해서 배우게 되었다. 2.개념 정리소수 판별하기소수란?1과 자기 자신 만을 약수로 가지는 수 라고 한다. 이를 판별하기 위한 코드가 아래와 같다.for(int i = 0; i 위의 방법을 통해 나누어지지 않는다면 소수로 판단해서 알고리즘을 풀어나가면 된다. 약수 구하기약수란?어떤 수를 나머지 없이 나눌 수 있는 자연수이다. 이를 판별하기 위한 코드가 아래와 같다.for(int i=1; i 일반적인 방법이라면 위와 같이 사용하며 소수 판별하기와 다를것 없이 보이는데 숫자가 높을 ..
해당 문제를 풀다가 채점에서 테스트케이스 2개 정도 런타임 에러로 틀렸었다.이유를 알아보니 문제에서는 "SUN","MON","TUE","WED","THU","FRI","SAT" 이렇게 나와 있어서그대로 코드에 적용해서 동작 시켰기 때문이다. 코드import java.time.DayOfWeek;import java.time.LocalDate;class Solution { public String solution(int a, int b) { String answer = ""; // 요일 String yoil[] = {"SUN","MON","TUE","WED","THU","FRI","SAT"}; // 1. LocalDate 생성 LocalDa..