주어진 구간을 자르는 단순한 문제다.<내 풀이> for문을 이용한 배열 만들기 다른 사람 풀이 중 너무 간단해서 놀랐던 코드를 긁어왔다. copyOfRange 메서드를 쓰면 배열을 긁어올 수 있다... 자바에는 편리한 메서드가 많군
정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요.Stream을 이용해 한 줄 만에 끝낼 수 있다JAVA8부터 나온 기능이라고 한다.
문제Java has 8 primitive data types; char, boolean, byte, short, int, long, float, and double. For this exercise, we'll work with the primitives used to
문제B와 H의 값이 0 이상이면 곱한 값을 반환,아니면 java.lang.Exception 문구를 반환하는 문제다.Static블록을 사용한 문제다.답참고블로그
문제 다시 생각해볼 문제
Calendar 클래스는 추상 클래스이기 때문에 new로 객체 생성이 불가하다.따라서 Calendar.getInstance() 메소드를 이용하거나 클래스를 상속받아야 객체를 생성할 수 있다.문제연, 월, 일을 받아 요일을 반환하는 문제다.업로드중..풀이객체 생성 후 s
오늘의 학습 키워드공부한 내용 본인의 언어로 정리하기오늘의 회고어떤 문제가 있었고, 나는 어떤 시도를 했는지 대소문자를 가리지 않고 카운트 해야하는데... 아스키코드를 써야하나 생각하다가.. 모두 소문자로 바꾸는 좋은 메소드가 있는걸 알았다. 다른 사람 풀이를
처음에 자릿수를 대충 보고 int로 변환 했다가... 5분을 날렸다..<=로하면 되는데 왜 굳이 1을 뺐을까교훈 : 문제를 꼼꼼하게 읽자, 습관처럼 쓰던것도 다시 생각해보자
replaceAll을 10번 썼는데contains로 찾아서 replaceAll로 바꾸는 방법배열을 쓰는 다양한 방법이 있다
같은 글자인경우 +1 다른 경우 -1 계산을 해서 0이 되면 카운트를 했는데문제는 마지막 글자가 카운트가 안되는 거였다..if로 0이 아닌경우면 1을 더해줬는데 깔끔하지 않은 것 같다.for문을 두 개 썼지만 하나만 쓰고 첫번째 글자를 저장해두고 비교하는 방법이 있다
하드코딩을 안쓰고싶었는데.. 별 수 있나..다른 사람 풀이를 비트시프트를 쓰더라...
제목: 99클럽 코테 스터디 0일차 TIL + 오늘의 학습 키워드오늘의 학습 키워드공부한 내용 본인의 언어로 정리하기오늘의 회고어떤 문제가 있었고, 나는 어떤 시도를 했는지어떻게 해결했는지무엇을 새롭게 알았는지내일 학습할 것은 무엇인지필수 해시태그: #99클럽 #코딩테
걸린 시간 59분map이랑 bufferedReader, stringTokenizer를 많이 안써봐서 오늘 배우면서 썼다\-를 for문에서 매번 제거하기보다는 한 번에 지우고 싶어서 for문 밖에서 지웠는데 유의미한 성능 차이가 있을까 궁금근무자가 아무도 없는 경우를 생
대칭인 단어를 찾는 문제다.
폰켄몬
완주자 명단에서 참가자 명단을 빼면 되는데내장 메소드를 이용하면 대게 중복이 제외된다.참가자 명단에 있으면 +1을 해주고 완주자 명단에 있으면 -1를 해서 0이 아닌 사람을 반환했다.
순서대로 저장되면 된다는 생각에 처음에 LinkedList를 사용했다가 (한 번 써보고 싶었다) ArrayList로 바꿨다. LinkedList는 ArrayList에 비해 삽입, 삭제는 빠르지만 탐색은 느리다고 하는데 문제를 보면 탐색이 더 빠른 ArrayList가 적
구분자로 문자열 배열을 이어 붙일 수 있다.
인터페이스이기 때문에 LinkedList로 구현해야한다같은 동작을 하는데 return값으로 exception을 던지거나 null을 던지는 메소드로 나뉘어있다.
다른 사람 풀이리턴값을 바꿔 바로 리턴할수도 있다.stack의 peek()를 사용한 점이 마음에 든다
Stack은 Vector를 상속받아 구현되어 있다.Vector는 단일 쓰레드 환경에서의 성능 저하로 사용이 권장되지 않는다.따라서 Vector를 상속한 Stack 또한 사용하지 않는 것이 좋다.ArrayDeque는 Deque의 구현체이며 Stack과 Queue의 메서드
입력 받기연속 되는 스킬을 담는다사전 기술이 스택에 있으면 카운트, 없으면 break.
최대 대기 인원수 / 숫자가 제일 작은 학번 담을 변수 선언1인 경우 큐에 넣어주고 최대값 체크해서 값 갱신2인 경우 poll로 제거
1. 높은 숫자가 우선 순위인 PriorityQueue 선언 2. 입력된 숫자를 모두 담고 N번만큼 꺼내서 출력 시간복잡도는 삽입, 삭제 모두 O(NLogN)이다.
1. 필요한 변수 선언 2. 가장 높은 키가 센티의 키보다 작거나 1인 경우 멈춘다. 센티의 키보다 작거나 같은 경우 반으로 나누고 다시 큐에 넣어준다.
Priority queue를 이용한 문제어제와 문제가 거의 유사하다.입력 받은 배열에 있는 숫자를 큐에 넣고 루트 값을 계산 해준 후 다시 큐에 넣는다.합산 해준 값을 리턴했다.
2차원 배열에서 최대값을 찾아 더해주는 문제다.처음에 내림차순 정렬을 시도하다가 reverseOrder()을 사용하지 못해서 그냥 오름차순으로 풀었다. 2차원 배열은 reverseorder()을 사용해 내림차순 정렬을 못쓰는데...그 이유는 기본형 배열이 객체가 아니라
예외 처리를 잘하자.
배열을 우선순위 큐에 넣어준다.poll을 사용할때마다 최소값을 꺼낼 수 있다. 꺼내서 계산한 값을 바로 넣어준다.2-1. 1개만 있는 경우 음식을 섞을 수 없으므로 -1를 반환해준다.2-2. 2개 이상인 경우 카운트 해준다.최소값이 K값 이상이면 카운트 된 값을 반환해
1\. 숫자 정보를 받아 배열에 저장해놓는다.2\. 우선순위 큐에 두번째 줄 데이터를 넣는다.3\. 배열 두번째에 저장된 수를 가져와 바로 앞 숫자까지 꺼낸다. (3번째 숫자가 필요하면 2번째까지만 꺼낸다)4\. 가장 앞에 있는 수를 출력한다.
맵에 넣고 최대값을 따로 저장해둔다.출력한다.같은 케이스에서 변동이 없다고 해서 소비량(숫자)를 키로 썼는데만약 변동이 생기는 경우면 key와 value 값이 바뀌어야 한다.
Priority queue를 굳이 사용할 필요 없다. 정렬된 순서만을 따로 배열에 저장해 while문에서 쓰면 된다.indexOf는 순차 검색이라 오래 걸린다.
int 배열로 변환해 우선순위 큐(내림차순)에 넣어준다. list에는 홀, 짝의 자리를 저장해둔다. 1352이면 0001 이렇게 저장된다.큐에서 가장 앞에 있는 숫자를 꺼내 홀/짝인지 비교한 후 배열에 넣어준다.값을 리턴해준다.
우선순위 큐에 넣고가장 먼저 나오는 숫자를 비교해 작은 수를 제거한다.마지막에 남는 사람이 승자둘 다 이기지 않은 경우가 어떤 경우인지 모르겠다.가장 높은 숫자를 누가 갖고 있는지만 찾아도 되는 문제였다.
다시 풀어보기~
큐에 넣는다가장 앞에 있는 값이 꺼낸 값보다 클때까지만 계속 뽑아준다
숫자 짝꿍처음에 풀었던 방식인데시간초과로 실패했다.0만 있는 경우를 대비해 int로 변환했다가 다시 스트링으로 반환해줬다.시간초과로 실패했다.첫번째 숫자가 0인경우는 0으로 바꿔서 반환해줬다.처음 풀었던 코드에서도 리턴문만 바꿔주니까 성공했다.String을 int로 변
암기왕
랜선자르기
선분 위의 점
기타레슨이분탐색3
두 용액