IT
[백준] 2231번 : 분해합 - JAVA[자바] - 티스토리
https://www.acmicpc.net/problem/2231 2231번: 분해합 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 www.acmicpc.net *문제는 위에서 확인해보고 비교해보세요! *별이 붙은 문장이 저의 생각이고,나머지는 문제를 인용했습니다. * 문제를 본 나의 생각 입력 : 자연수 N (1 ≤ N ≤ 1,000,000) -> int타입으로 받자. 1. 주어진 n 보다 작은 모든 자릿수를 더해서 n과 같으면 된다. *n보다 작은수들 한 번 씩 해봐도 최대 1,000,000번 연산 정도?? -> 브루트포스..
[하버드 CS50강의] 더 좋은 프로그래밍을 보는 관점 / Arrays[배열] - 티스토리
https://www.youtube.com/watch?v=tI_tIZFyKBw&list=RDCMUCcabW7890RKJzL968QWEykA&start_radio=1&rv=tI_tIZFyKBw&t=9 harvard -cs50 : Arrays 유명한 하버드 CS50강의를 수강했습니다. 굉장히 차근차근 기초적인 코드를 이용하여 보여줄 수 있는 버그들과, more dynamic하게 코드를 수정해가면서 코드를 보는 관점을 이해시켜줍니다. 이번 강의의 제목은 Arrays 배열이었습니다. 이 배열을 통해 어떤 식으로 코드를 바라보는지 같이 살펴보겠습니다. 다음과 같이 C언어로 이루어진 가장 기본적인 코드를 교수는 작성하여 학생들에게 보여주며 말합니다. 교수 "Code smell"이 납니다. 다음 코드가 좋게 프로그래..
[백준] 2798번 : 블랙잭 - JAVA[자바] - 티스토리
https://www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net * 입력 : N장의 카드가 주어짐 , 딜러가 M 이란 숫자가 주어짐 * N장 중 3장 고를 수 있음. 3장의 합이 M을 넘으면 안됨. * 시간복잡도 체크 3 BufferedWriter 1 번째 package bruteforce; import java.io.*; import java.util.StringTokenizer; public class BOJ_2798_cle..
[이번엔 까먹지 말자] int와 long 구분하기 / bit와 Byte에 대해
int,long 타입을 구분하기를 무서워하는 저를 발견하여, 글을 작성하기로 하였습니다. 먼저, bit와 byte에 대한 이해가 약한 것 같으니 bit부터 살펴보겠습니다. bit는 뭘까요? 모든 데이터는 0과 1의 조합으로 표현할 수 있습니다. 쉽게 전구의 불을 on / off 하는 단 2가지의 경우의 수부터 시작되는거죠. 1bit는 0과 1로 이루어져있고, 데이터를 표현하는 가장 최소의 단위입니다. int 는 4byte 메모리를 사용합니다. 그럼, 4byte는 몇 bit로 이루어져 있을까요? 생각해보시고 펼쳐보세요! 더보기 4byte는 1byte x 4 = 8bit x 4 = 32bit로 이루어져 있습니다. (1byte 당 8bit) 이 32bit에서 1bit로 뭘 표현 할 수 있다했죠? 0과 1 딱 ..
[JAVA] 자바 length 와 size 의 차이
IDE를 사용하다보니 나도 모르게 length와 size를 구분안하고 있었다. 그래서 알아보니 딱 이 세가지만 구분하면 될 것 같다. 1. length -배열의 길이를 알고 싶을 때 2. length -문자열의 길이를 알고 싶을 때 3. size() -컬렉션 타입의 길이를 알고 싶을 때 예시를 확인해보자. 추가적으로 검색하다 알아두면 좋을 스택오버플로우 질문글. https://stackoverflow.com/questions/20192843/difference-between-size-and-length-methods 출처 : stackoverflow 요약 immutable한 성격의 객체에는 length mutable한 성격의 객체에는 size 문자열,배열은 immutable(불변) Collection타입..
[JAVA] Math.max와 Math.min으로 값 비교하기
Math.max(파라미터 1, 파라미터 2) : 인자1과 인자2 중 큰 값을 리턴 Math.min(파라미터 1,파라미터 2) : 인자1과 인자2 중 작은 값을 리턴 파라미터에는 int, double, float 등 다양한 타입을 넣어 비교 가능합니다. class Compare{ public static void main(String args[]) { Math.max(3.14,5.18); -> 5.18 Math.min(33,77) -> 33 } }
[DataBase] ERD 지금 짚고 넘어가자.
ERD란 ? 데이터베이스에 저장되어 있는 Entity(실재하는 것들)의 관계를 보여주는 엔터티 관계 지표이다. (Entity 실재=존재하는 것/ Relationship 관계 / Diagram 도표) 그럼 Entity란? 테이블을 구성하는 객체 구성성분? 이라고 생각하면 된다. 예를 들어, 학교란 Data에 학생과 선생님의 Entity가 있다고 하자, 학생(Entity)은 이름,나이,생일 등의 속성(attributes) 값으로 구성된 Entity이다. 구성 관계 ERD > Entity > Entity attribute 이 엔터디들의 논리적인 관계를 시각적으로 잘 알아보기 위해 기호를 사용하여 표기. 그럼 어떻게 관계를 표현하는지 알아보자. 먼저, ERD 관계 기호 (까마귀 발처럼 보이는 새발 모양에 집중)..
[안드로이드] @Nullable @NonNull ??
Nullness 주석 @Nullable : null이 될 수 있는 매개변수, 변수, 반환 값을 나타냄. @NonNull : null이 될 수 없는 매개변수, 변수, 반환 값을 나타냄. 참고. https://developer.android.com/studio/write/annotations?hl=ko
[Git hub] Git 커밋하기 전엔 add,commit하자
원래 목적 : temp01.txt파일을 새로 만들어서 단순히 커밋하려고 함. 먼저, 내 로컬을 보자면 4주차 폴더 / README.md 파일 / temp01.txt파일 (폴더에 집중..) 바로 $git add . 을 해서 추가하려햇지만.. 실패 이류를 보니 , 4주차가 커밋이 안됐다? $cd 4주차 : 4주차 폴더에 들어가서 $git status : 확인해보니 Untracked file목록과 커밋하기 위해서는 추가된 파일이 필요한데 없단다.. 그래서 그렇구나? 이해하고 $git add . 으로 추가하고 $cd .. 으로 나와서 다시 temp01.txt 올리고 싶어서 $git add .했는데 ??? 에러??? add만하고, commit을 안했다.. 멍..텅..구리 그래서 다시 돌아가서.. commit -m..
[Git hub] Github 브랜치 master -> main
git이 점점 이해가 돼서 기쁜 마음에 실습에 들어갔다. $git pull origin master 로 바로 origin의 주소에 master라는 루트 브랜치를 모두 pull하려했지만, 에러사항 -> fatal : couln't find remote ref master master브랜치를 찾을 수 없단다.. 참고로 저는 branch이름을 바꾼 적이 없습니다! $git pull origin 브랜치이름 알고보니 Github 레포지토리 생성 시 기본 브랜치 명이 master가 아닌 main 이더라구요. 바뀐 이유는 'Black Lives Matter' 운동을 옹호하며, 주인과 노예 관계를 의미하는 master, slave를 다른 단어로 대체하기 위해서라고 하네요. $git pull origin main 으로 ..