"모" 사이트 코테 봤는데
- 1솔뿐이 못했다
- 시험 종료되고 나서 결국 삽질하던 버그 잡아서 해결했는데, 아이고 의미없다.
- 그럼에도 불구하고, 코쿼 졸업할때까지는 코테는 낮은 우선순위이고, 매주 스터디만꾸준히 참여할 생각이다. 지금은 스프링백엔드 학습이 우선순위이다
- 앞으로 SQL 한문제씩 꾸준하게 풀어나갈 계획이다!
- 주변에 좋은분들 잘하는 분들 보면서 많이 배우고 있다.
- 같은조라서 정규 학습시간에 만나는 분들 뿐만 아니라, 따로 스터디 하는 부분들도 정말 좋다.
- 비슷한 목표를 가진 비슷한 실력(가끔 엄청 뛰어난분들도 계신다)인 사람들을 모아서 하루에 8시간씩 내가 필요한 지식을 습득해내가는 시간이라니.. 정말 이보다 더 좋은 학습환경은 없을듯..
- 역시 학습에는 주변 환경이 엄청난 영향을 미친다. 코쿼 듣길 정말 잘했다!!
- 스프링 프로젝트도 개인적으로는 충분히 도전적인 과제였지만, 앞으로 남은 절반 3개월의 기간도 전혀 만만하지는 않을꺼같다.
변명은 아닙니다만...
- 오늘 분명 밤11시에 잘수 있었는데, 마음이 답답한일이 있어서 산책 한바퀴 돌고왔다.
- 역시 속상한 일 있을때는 그냥 걷거나 운동하는게 최고의 솔루션이다..!
- 비가 그치지 않았지만 못걸을 정도의 가랑비? 비도 아니고 그냥 미스트 수준이여서 유쾌하게 산책할 수 있었다...! 사람이 거의 없어서 쾌적한건 덤
- 이런저런 생각을 많이 했지만, 해결책은 돌고돌아서 결국 실력기르고, 멘탈관리, 몸관리 잘하기로 귀결되는듯 하다.
모두가 알지만 아무도 인지하지 못하는 그것..
- 내가 해야할일은 내가 제일 잘 알고 있다.
- 졸라 꾸준히 열심히 하는 방법이 유일한 길
- 남들이랑 비교하지말고 내 과거랑만 비교하자 Git처럼...(시기적절한 리뷰는 당연히 수용해야지)
내일(일)할일
- 카페/스카 가서
- 영한님 강의 완강때리기
- 백기선님 스터디 미리 진도 빼놓기
- SQL 문풀/ 데이터베이스 공부
- (리뷰가 돌아오면) 미션6 진행
- 운동
오늘의 코테 소스코드
public class Solution {
boolean[] chickenwiner = new boolean[47];
public int[] solution(int[] lottos, int[] win_nums) {
int[] answer = new int[2];
for(int num : win_nums) {
chickenwiner[num] = true;
}
answer[1] = getWorst(lottos);
answer[0] = getBest(lottos);
return answer;
}
private int getWorst(int[] lottos) {
int cnt = 0;
for(int num : lottos) {
if(chickenwiner[num]) {
cnt++;
}
}
return hit2rank(cnt);
}
private int getWN(int[] lottos) {
int cnt = 0;
for(int num : lottos) {
if(chickenwiner[num]) {
cnt++;
}
}
return cnt;
}
private int getBest(int[] lottos) {
int nZero = getNZ(lottos);
return hit2rank(nZero+getWN(lottos));
}
private int getNZ(int[] lottos) {
int ret=0;
for(int num : lottos) {
if(num==0) {
ret++;
}
}
return ret;
}
private int hit2rank(int hitNums) {
if(hitNums == 6) {
return 1;
}
else if(hitNums == 5) {
return 2;
}
else if(hitNums == 4) {
return 3;
}
else if(hitNums == 3) {
return 4;
}
else if(hitNums == 2) {
return 5;
}
else {
return 6;
}
}
public static void main(String[] args) {
Solution s = new Solution();
s.tester(new int[] {44, 1, 0, 0, 31, 25},new int[] {31, 10, 45, 1, 6, 19}, new int[] {3, 5},s);
}
private void tester(int[] lot, int[] win, int[] ans,Solution s) {
int[] ret = s.solution(lot,win);
for(int i =0 ; i<ans.length ; i++) {
if(ans[i] != ret[i]) {
System.out.println("NG");
return;
}
}
System.out.println("OK");
}
}
import java.util.LinkedList;
import java.util.Queue;
class Solution {
int[][] map = new int[7][7];
public int[] solution(int rows, int columns, int[][] queries) {
int[] answer = new int[queries.length];
for(int x=1 ; x<=6 ; x++) {
for(int y=1 ; y<=6 ; y++) {
map[y][x] = (x-1)+(y-1)*6+1;
}
}
for(int i=0 ; i<queries.length ; i++) {
answer[i] = rotAndMini(queries[i]);
}
return answer;
}
private int rotAndMini(int[] query) {
int mini = 99999;
Queue<codi> q = new LinkedList<>();
for(int i=query[1] ; i<query[3] ; i++) {
q.add(new codi(query[0],i));
}
for(int i=query[0] ; i<query[2] ; i++) {
q.add(new codi(i,query[3]));
}
for (int i=query[3] ; i>query[1] ; i--) {
q.add(new codi(query[2],i));
}
for(int i=query[2] ; i>query[0] ; i--) {
q.add(new codi(i,query[1]));
}
int front = 0;
int feed= 0;
codi start = q.peek();
int st = 0;
while (!q.isEmpty()) {
codi cur = q.poll();
front = map[cur.getY()][cur.getX()];;
map[cur.getY()][cur.getX()] = feed;
feed = front;
st = front;
mini = Math.min(mini,feed);
}
map[start.getY()][start.getX()] = st;
return mini;
}
public static void main(String[] args) {
Solution s = new Solution();
s.tester(6,6,new int[][] {{2,2,5,4},{3,3,6,6},{5,1,6,3}},new int[] {8,10,25},s);
}
private void tester(int r, int c, int[][] q,int[]ans, Solution s) {
int[] ret = s.solution(r,c,q);
for(int i =0 ; i<ans.length ; i++) {
if(ans[i] != ret[i]) {
System.out.println("NG");
return;
}
}
System.out.println("OK");
}
private class codi {
private int x;
private int y;
private codi() {
}
public codi(int y, int x) {
this.x = x;
this.y = y;
}
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
}
}