0. 토이 프로젝트를 진행하면서 알게된 것들에 대해서 정리하고 이를 누군가 봄으로써 편하길 바라며 정리합니다. 이 글에선 자바 코드와 코틀린 코드를 혼용하여 사용합니다. 1. 이전 글에 이어서 클릭 구현에 대해 알아봅니다. 2. 자바나 코틀린이나 코드 구현이 비슷함으로 보면서 전체 흐름을 이해하는 것을 추천드립니다. 간단하게 텍스트뷰만 사용하여 만들었다. 실제 앱을 만든다면 조금 더 복잡하게 많은 것들이 들어간다. 1. 먼저 과일 이름을 넣은 배열을 하나 만들어본다. 2. 먼저 안드로이드 개발자 홈페이지에서 코드를 봅니다 developer.android.com/guide/topics/ui/layout/recyclerview?hl=ko RecyclerView로 동적 목록 만들기 | Android 개발자 |..
토이 프로젝트를 진행하면서 알게된 것들에 대해서 정리하고 이를 누군가 봄으로써 편하길 바라며 정리합니다. 이 글에선 자바 코드와 코틀린 코드를 혼용하여 사용합니다. RecyclerView를 배우게 된다면 ListView는 거들떠 보지도 않게 된다. 그런 이유는 RecyclerView를 배우다보면 ListView의 확장판처럼 느껴지기 때문이다. 그럼으로 ListView를 알면 RecyclerView에 대해 조금 더 알기 쉽게 된다. 그래서 먼저 ListView를 알아본다 LinearLayout에 자식뷰 추가하기 List View를 추가하여 사용하고 싶다면 아래 코드와 같이 3줄로 작성하면 된다. (물론 XML로 설정 해야한다.) 서브 리스트 작성 xml은 넘어가고 현재 아래 코드에선 phone_info 레..
학교 에타 커뮤니티를 통해서 개발, 디자이너 각 한분씩 구해서 이전에 진행하였던 공지사항 메일을 앱으로 변경하게 되었다. 그래서 진행하면서 인상적이었던 점을 하나씩 적어보려고한다. 디자이너가 구현한 이미지를 직접 안드로이드로 구현하는 것은 아주 쉬울 줄 알았다. 아니였다. 먼저 NEW라는 글씨가 정확하게 박스가 맞아들어가지 않아서 padding값을 구하기가 힘들었다. 또한 New의 border가 바깥쪽부터 값을 계산하기 때문에 정확한 border값을 구할 수 없었다. 두번째로 글씨체였다. Figma 사이트를 통해서 디자인 한 값들을 바로바로 확인하여 구현할 수 있도록 되어있었다. NanumSquare_ac라고 되어있었는데 디자인한 분께 물어보니 Noto Sans 글씨체를 사용한다고 하셨다. Noto Sa..
소수 Prime Number' 처음 소수를 판별하여 출력하라! 라고 한다면 소수의 정의를 따라간다. 소수는 1과 자기 자신을 약수로 갖는 값으로 1과 자기 자신외의 약수를 가지지 않는 1보다 큰 수라고 하는데 한번 꼬아놓은 말이라 개인적으로 싫어한다. 그냥 1보다 크고, 약수로 1과 자기 자신을 갖는 값이라고 직설적인 말을 쓰면 좋지 않을까? 하여튼 소수를 구하기 위해서는 자기 자신보다 작은 값들로 나누어서 나누어지면 안된다. = 나누어진다는 것은 배수라는 의미이기 때문이다. int number = 4; bool isPrime = true; for(int i=number-1; i>1; i++){ if(number%i==0){ isPrime = false; break; } } 내가 가진 수를 for문으로 ..
문제 발단 대학교에 다니면서 제일 중요한 것이 무엇일까? 바로 공지 사항이다. 대학교 공지사항은 여러가지 이유로 나에게 도움이 되는 정보들이 많이 올라온다. 그렇기 때문에 대학생이라함은 공지사항을 챙겨봐야한다. 나는 하루에 2-3번 정도 공지사항을 보기 위해서 자주 들어간다. 조금 많이 본다. 대학 공지사항을 한 페이지만 보면 그나마 괜찮지만, 페이지가 다른 공지사항을(대학, 과 공지 등) 볼 때 매우 귀찮은 일이다. 코딩을 배우는 이유는 귀찮은 일을 줄이기 위해서다. 그러므로 내가 보는 공지를 알림으로 띄우기로 마음먹었다. 데이터 얻어 오는 수단 1: 크롤링 학교에서 API 제공해준다면 그 정보만을 이용해서 개발하면 그만이다. 사실 그러면 좋은데 문의를 올렸는데도 답장이 없고, 아는 형도 학교 페이지를..
책은 너무 비싸다. 헌책으로 공부하기는 싫다. 다행히도 책 스트리밍 덕분에 많은 책을 구매해서 안 봐도 되지만.. 대학 교재나 스트리밍이 안되는 책은 사서 봐야한다. 알라딘을 예전부터 오랜 시간동안 사용했고 개인적으로 알라딘이 할인이 많다고 느껴져서 항상 사용한다. 이제 곧 N페이 체크카드도 보내줄 시간이 다가오기도 하니 다시 업데이트 해보려고 한다. 알라딘은 매일 이벤트를 하고 있다. 달마다 선물도 달라지며 항상 이벤트가 있다. 항상 있다. 그러니 매번 구매할 때 받을 거리가 있다는 말인 것이다. 먼저 맨 상단바에 존재하는 이벤트에 들어가자. 항상 바뀌는 페이지이지만 적립금 꼭 챙기세요와 같이 적립금을 주는 이벤트가 매번 있다. 항상 여기를 주의깊게 봐야한다. V체크한 것은 매번 받을 수 있는 적립금 ..
자료구조를 배우다보면 배우는 하노이의 탑 여전히 그때나 지금이나 직접 생각해서 짜려면 생각보다 곤란하다. 하노이의 탑은 재귀를 사용했지만 재귀를 사용할줄 아는 사람이 직접 구현하는 것보다 이미 구현되어있는 구현 순서를 쉽게 생각해내는 것이 더 빠르고 정확하다. 내가 원숭이라는 증명인걸까? 하노이의 탑은 A, B, C 의 봉 3개에서 A에서 C로 모든 원반을 옮기는 것을 목표로 한다. 각 규칙은 아래와 같다. 한 번에 한 개의 원판만을 다른 탑으로 옮길 수 있다. 쌓아 놓은 원판은 항상 위의 것이 아래의 것보다 작아야 한다. 이미 이 글까지 보러왔다면 다 알고 있는 내용이라고 생각한다.(문제에 적혀있으니까..) 하노이의 탑을 어떻게 구현하느냐 아니다. 어떻게 진행되는지 생각해보자. 원반이 총 3개인 경우로..
#include using namespace std; int T; bool check; int func(long long x, y, int k){ if(x == y-1){ return 1; } else if( x > y-1){ return 0; } int count = func(x+k+1, y, k+1); count += func(x+k, y, k ); return count; } int main(){ ios::sync_with_stdio(0); cin.tie(0); long long x,y; cin >> T; while(T--){ cin >> x >> y; check = false; if( y-x == 1) cout