코드스쿼드에 관심이 있어서 수업에 대기자 신청을 했었다. 코코아 과정이라는 초보자를 위한 5주 정도의 짧은 온라인 수업이 오픈될 것이라는 안내 메일을 받았다. 간략한 스케줄을 보면서 미루어 짐작해보자면, 초보자 과정이지만 수업의 비중보다는 팀원들 간의 상호작용이 중요한
출처 : https://youtu.be/L2p1mdpxD5w질문을 하기전5 Why 원칙에 따라 생각해보기. 왜 이런 문제가 발생했나?해결이 될법한 다른 방법 세가지 시도. 추후에 질문에 포함시킨다.1번 처럼 해봤음에도 해결이 안되면 검색을 해본다.네이버말고 구
구구단 구현은 이미 해보았기 때문에 지난 번에 기억을 더듬어서 금방 구현했다. 하지만 아주 약간 응용한 문제였는데 힌트를 얻고도 이걸 못 풀어서 내가 참 멍청하다는 생각에 빠졌다. 그러니까 문제는 첫단과 끝단을 입력했을때 첫단부터 끝단까지 출력되어서 나오게 하는거였다
오늘 수업들으면서 더욱 크게 깨달은 것은 아직 기본이 너무 부족한 것. 하긴 수업을 완강 했거나 책을 완독해본게 없으니 이런 말할 처지는 아니다 싶지만 한번쯤 자바에 전체에 강의를 들을 필요가 있다고 느꼈다. continue, break, 함수, 리턴 등등 특히 한줄로
break는 loop에서 빠져나오는 역할을 한다. 입력:출력:0123continue는 loop에서 한 번의 반복문을 스킵한다.입력:출력:012356789출처 https://www.w3schools.com/return 이란?void 함수 내에서 return 은
cd ~/디렉토리 : Change Directoryjavac 자바파일명 : javac의 c는 컴파일러를 의미java 자바클래스명 : 자바클래스를 실행ls -al : 현재 디렉토리의 전체 파일목록을 출력❓이클립스에서 바로 클래스파일을 생성할 수 있던데......이클립스에
태어난 년도 부터 해결해보자. 태어난 년도는 4자리이다. 4자리로 들어갈 수 있는 숫자 1000~9999까지 총 9000개의 배열을 만들고, birth의 입력값의 4번째 자릿수에 따라 각기 다른 문자열을 출력할거다. 입력값의 4번째 자릿수가 무엇인지 판별하기 위해 su
코딩할 때 중요한 원칙 중 하나는 중복을 없애는 것이다. 중복을 없애는 것은 유지보수가 용이해지고 가독성이 높아진다는 뜻이다. 이 코드에서는 덧셈이 중복이 되고 있다. 1000줄 짜리 코드라고 가정해본다면 엄청난 메모리 낭비일 것이다. 중복을 제거하기 위해서 메소드
처음에 위와 같이 마지막으로 코드를 짰는데 문자열이 한 줄에 모두 모여서 출력되는 게 아니라 따로 한 줄 씩 띄어져서 나왔다. 그래서 어떻게 하면 모두 모이게 추출력할 수 있을까 고민하면서 이것 저것 만지면서 삽질했다. 아직 배운게 많지 않아 어떻게 할지 전혀 감도 못
2438번 문제 링크 첫번째 시도 일단 어떻게 해야할지 몰라서 입력한 정수만큼 별이 나오도록 했다. 별이 점점 늘어나게 하려면 어떻게 해야할까? 요구사항을 충족시키려면 같은 String 타입의 변수를 이어붙여야한다고 생각해서 좀 더 폭넓은 생각을 위해서 +이외에 어떤
문제를 잘못 이해하고 전혀 다른 방향으로 풀었다. 입력값은 백준에서 예제로 입력하는 것이었지만, 나는 이해를 잘못하고 사용자가 입력하는 게 아니라 처음부터 그 숫자들을 내부적으로 만들어서 입력해줘야 한다고 생각했다. 그래서 랜덤으로 어떻게 숫자들을 만들 수 있는지 검색
c1과 c2는 left, right라는 똑같은 변수를 가지고 있지만 그 값은 다르다는걸 알수있다. 그렇기 떄문에 left와 right의 변수는 인스턴스의 변수이다. 그러면 인스턴스의 소유가 아닌 변수가 있을 수있나? 인스턴스의 소유가 아니고 클래스의 소유인 변수가
여전히 요구사항이 많아서 내 수준으로는 안될거 같아 일단 문제를 더욱 잘게 쪼갰다. 첫번째 시도 [코드 보기: https://github.com/kyu-kim-kr/codesquad-cocoa-java/blob/01a657ab03dfc5b1417e9cf8d7140
잘쓰는 자료구조 -> 리스트나 배열 90%쯤 커버가능 리스트중에 자바같은 경우에 어레이리스트랑 많이쓴다. 그리고 맵 중에 해시맵을 많이 쓴다Array List -> 자료를 받는 구조함수 안에서 매개변수 값을 바꾸면 바깥에 영향이 있는지 없는지 ㅏ차이요메모리를 절약할 수
초기화란? 선언한 객체에 최초로 값을 넣어주는 것.c1 이라는 객체를 생성해주고, sum()과 avg()를 호출하기 위해 setOprands에 인자들을 넣어주는게 이 객체의 사용방법이다. 그런데 다른 사람이 쓸 때 아마 어떻게 사용할지 모르거나해서, setOprands
아이디와 패스워드. 두 가지 값이 있다. List, Set, Map 중에 선택을 한다면 Map에 데이터를 담고 싶다. 두 가지 값을 비교하는 데 List, Set은 어떻게 써야할까? 미리 코드에서 아이디와 패스워드를 설정해주었다. containsKey를 통해서 user
원문 https://hackernoon.com/personal-retrospectives-for-developers-e5d86813d65a\* 개인적인 공부로 의역, 오역이 있습니다.Getting started can be a challenge, but usu
5주 코코아 과정에서 이루고자하는 목표는 단 한 가지이다. 스스로 소프트웨어 학습하는 법을 익히는 것이다.평생 개발자로서 살기로 결정했다면, 가장 중요한 것은 어떻게 스스로 합당한 근거를 세우고 다음으로 할 일을 정하는가라고 생각한다. 이 일은 그냥 오랜기간 일한다고해
2차원 배열 어떻게 작성하는지 배움쓰레드에서 sleep메소드를 이용해서 실시간으로 시계를 바꾸는걸 시도중쓰레드에서 sleep메소드를 사용하려하니 try catch 구문을 사용하라고함try catch구문과 반복문을 이용해서 시계가 초단위로 나오도록 했는데 이상하게 계속
getInstance()는 이름에서처럼 인스턴스를 만드는 것이다. 근데 우리가 알고 있는 인스턴스 생성하는 방법은 다음과 같을 것이다. new연산자를 이용해서 클래스를 새로운 메모리에 할당하는 것이다. getInstance()는 최초에 할당된 하나의 메모리를 계속 쓰
기본으로 현재년도 현재월의 달력을 출력하고 인자로 년도와 월을 입력받으면 해당 월의 달력을 출력해 준다.현재 달의 첫번째 1일이 언제인가를 찾는 것출력할때 1일 앞을 빈 공간으로 채우는 것일~월요일 까지 일 수를 채워넣고 개행하는 것마지막 일이 언제인가를 찾는 것1일의
부모클래스와 자식클래스 여러개가 있을때, 부모클래스는 기본적인 동작방법을 정의한다는 공통분모 뜻이고 오버라이딩을 구현한다는것은 공통적으로 가지고 있는 기본메소드를 쓰고 싶윽네 아니라 예외적으로 변칙이 필요한 더 높은 우선순위의 메소드가 필요하다는 뜻이다오버라이딩이 되려
메인메소드에서 사용자의 선택에 따라 달력과 시계를 출력할 수 있는 로직이 있다.시계에는Thread.sleep()에 의해서 1초 단위로 시계를 출력하는 반복문이 있다.시계를 선택하면 무한 루프이기 때문에 도중에 스캐너 쓰레드가 실행되도록 설정하였다.무한 루프 도중에 스캐
https://www.hackerrank.com/challenges/grading/problemscore // 80 -> 80 // 79 -> 80 -> 1자리의수가 9이면 +1 // 78 -> 80 -> 1의자리수가 8이면 +2 // 77 -> 7
생활코딩에서 처음에 이클립스로 시작해서 나도 이클립스를 설치했었다. 점점 익숙해지다보니 바꾸고 싶지 않았었다. 근데 다른 팀원분들이 화면공유할때 보여준 인텔리제이의 디자인이 코드 작성하는 데에 더 편리해보이고 생활코딩에서 알려준 깃허브와 연동하는 방법보다 인텔리제이 내
2차배열 일때, 2중 for문을 이용해서 배열에 같은 값을 주는거 말고 다른 방법이 없을까?➡️ 배열의 주소를 모두 같은값으로 초기화Arrays.fill(i_array,1); i_array의 모든 index값을 1로 초기화이걸 2차원 배열에 넣을때는 for 문을 돌려야
AWT (Abstract Window Toolkit) 단어 하나하나 뜯어서 의미를 살펴보자면, Abstract..은 넘어가고, Window는 창, Toolkit은 공구박스이다. 책에서 나오는 정의와 조합해보자면, Window를 만들 수 있는 공구 박스라는 것이다.AWT
AWT에서 Frame 안에서 일어나는 기본적인 것들, 이를테면 정보들을 리스트형식이나 버튼형식이나 팝업형태로 나타내고 사이즈, 위치 등을 조절하는, 메소드가 있고 어떻게 사용하는지 등을 찾아볼 수 있고 필요한 것을 쓸 수 있다. 그 중에서 이벤트는 예제 문제를 통해서
출처: 자바의 정석 2판 p782 저자 남궁성버튼 만드는 방법을 배운다.5x5로 Frame에 맞게 버튼을 만들어본다 시도해본다.BorderLayout의 Center를 이용하면 5x5로 깔끔하게 만들수있을 거같다.BorderLayout가 아니라 GridLayout으로 할
깃헙링크: https://github.com/kyu-kim-kr/codesquad-cocoa-java/commits/main/clockonstatusbar
어느덧 총 5주 중에 4주의 막바지에 왔다. 시간이 정말 빠르게 흘러갔다. 조건문이나 반복문 등 아주 기초적인 것만 알고 있었고 사실 그마저도 몇달 전에 배운거라 거의 잊어버린 상태였다. 아직 갈 길이 멀긴 하지만 지금은 그래도 여러 미션들을 학습하면서 자바라는 언어의
AWT쓰레드에 의해 자동적으로 호출되어짐평소에 대기상태였다가, 화면이 갱신되어야할 상황이면 paint()나 update()를 호출화면이 갱신되어야할 상황:처음 화면에 나타날 때다른 화면에 가려져 있던 부분이 다시 화면에 나타날 때아이콘화 되어있다가 다시 화면에 나타날때
자바 컴파일러는 메소드를 구분할 때, 메소드의 이름과 파라미터를 통해서 구분한다.이 때, 메소드의 이름과 파라미터를 시그니쳐라고 한다리턴 타입은 시그니쳐에 포함되지 않는다컴파일러는 메소드를 구분 할때, 메소드의 이름과 파라미터를 통해서 구분하기 때문에 다음과 같이 이름
코인 먹기 게임 게임 목표 상, 하, 좌, 우, 대각선으로 움직이는 플레이어 맵에서 랜덤으로 코인을 생성 코인을 먹으면 점수가 올라감 일정 점수가 되면 게임이 끝남 시작 뭐부터 시작해야할지 모르겠음 gui 관련 아무 게임이나 따라하면서 뭘 만들어야할지 감각을 익히는중
게임 목표 완성된 코인 먹기게임에 장애물을 넣는다. 장애물은 움직이고 벽에 닿으면 튕겨나간다. 장애물은 여러개이고 여러 크기로 생성된다. 과정 먼저 자바의 정석 예제를 풀어본다. 랭킹구현할때 ArrayList에서 score값 만 다른 ArrayList에 불러와서 정
이미 지난 글들에서 많은 소감을 남겨서 딱히 따로 적을 소감은 없지만 이때까지 내가 뭘했나 여러 기록들을 살펴보면서 마무리하고 싶다. 8월 말에 처음으로 코딩에 흥미가 생기면서 니콜라쌤의 html, css 기본 온라인 과정인 코코아 톡 (이번에 한 과정이랑 이름이 같음
깃헙: https://github.com/kyu-kim-kr/java-simplerpg이번주 14일부터 18일까지는 코드스쿼드 코코아 과정에서 하지 못했던 초간단 RPG 게임을 만들어보려고 한다. 또 혼자 코딩 연습하는건 어떤지 확실히 비교해보고싶다.11 \*