- 방문자수
- 인기 글
전체 방문자
오늘 방문자
어제 방문자
최신 글
-
99클럽 코테 스터디 35일차 TIL [구현]
- 오늘의 학습 키워드 : 구현[문제 이름 : n+1 카드게임 (프로그래머스 258707, Lv 3)]문제 url : https://school.programmers.co.kr/learn/courses/30/lessons/258707내가 작성한 코드는 아래와 같다.import java.util.*;class Solution { public int solution(int coin, int[] cards) { int answer = 0; int len = cards.length; int target = len + 1; List deck = new ArrayList(); List hand = new ArrayList(); int ..
-
99클럽 코테 스터디 34일차 TIL [LCS -> DP]
- 오늘의 학습 키워드 : LCS(DP 활용)[문제 이름 : LCS 3 (백준 1958, G4)]문제 url : https://www.acmicpc.net/problem/1958내가 작성한 코드는 아래와 같다.import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str1 = br.readLine(); String str2 = br.readLine(); String str3 = br.read..
-
99클럽 코테 스터디 33일차 TIL [투포인터]
- 오늘의 학습 키워드 : 투포인터[문제 이름 : 회문 (백준 17609, G5)]문제 url : https://www.acmicpc.net/problem/17609내가 작성한 코드는 아래와 같다.import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); int T = Integer.parseInt(br.readLine()); while..
-
99클럽 코테 스터디 32일차 TIL [트리, 재귀]
- 오늘의 학습 키워드 : 트리, 재귀[문제 이름 : 표현 가능한 이진트리 (프로그래머스 2023 카카오 기출문제, Lv 3)]문제 url : https://school.programmers.co.kr/learn/courses/30/lessons/150367내가 작성한 코드는 아래와 같다.import java.util.*;class Solution { public int[] solution(long[] numbers) { int[] result = new int[numbers.length]; for (int i = 0; i end) return true; // 리프 노드까지 확인 완료 int mid = (start + end) / 2; // 루트 노드 ..
-
99클럽 코테 스터디 31일차 TIL [다익스트라]
- 오늘의 학습 키워드 : 다익스트라[문제 이름 : 택배 배송 (백준, G5)]문제 url : https://www.acmicpc.net/problem/5972내가 작성한 코드는 아래와 같다.import java.util.*;import java.io.*;public class Main { static ArrayList[] A; static final int INF = Integer.MAX_VALUE; static int[] dist; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in));..
Android Studio[Java]
-
소셜 로그인 (구글, Google 편)
큰 순서는 다음과 같다. 1. build.gradle (app)에서 compileSdk을 33으로 맞춰주세요. (본인 컴퓨터에서 잘 돌아간다면 상관없다.) 2. build.gradle (app)에서 다음을 입력! implementation 'com.google.android.gms:play-services-auth:20.5.0' 3. 안드로이드 스튜디오 터미널에서 ./gradlew signingReport 를 입력하면 로컬 PC의 SHA1 지문을 얻을 수 있다. 4. 구글 API 콘솔에서 프로젝트 생성 후, 좌측 햄버거 버튼 - API 및 서비스 - 사용자 인증 정보로 들어가서, 상단의 사용자 정보 추가를 클릭 후, Oauth Client 클릭한다. 5. 안드로이드 선택 후, 해당 프로젝트의 패키지 이름..
-
[깡쌤의 안드로이드 프로그래밍] 4장 실습 (2022 ver)
레이아웃을 활용한 다양한 뷰 배치 이번 장에서 다루는 레이아웃 클래스는 아래와 같다. (1) LinearLayout (2) RelativeLayout (3) FrameLayout (4) TableLayout (5) GridLayout (6) ConstraintLayout (1) LinearLayout 해당 레이아웃에 포함된 뷰를 순서대로 가로나 세로 방향으로 나열한다. 이때 orientation 속성을 제공한다. 카카오톡 채팅 목록 같은 경우, 이미지 파일, 이름, 채팅이 순서대로 나와있다. 이는 레이아웃을 중첩하여 사용한 것이다. 이를 하기에 앞서, LinearLayout의 속성을 먼저 보도록 하자. - gravity, layout_gravity gravity 속성은 뷰의 내용(content)을 뷰 영..
-
기초 뷰 활용
TextView, ImageView, EditText, Button에서 자주 활용되는 속성을 보겠습니다. (1) TextView text : 화면에 출력할 문자열을 지정하는 속성. 레이아웃 XML 파일에 직접 문자열을 명시할 수 있고, 문자열 리소스를 이용할 수도 있다. android:text="hello world" android:text="@string/hello" typeface : 화면에 출력할 문자열의 폰트를 지정하는 속성. normal(default), sans, serif, monospace 중 하나를 입력하면 된다. 이 4가지 폰트는 안드로이드에서 기본으로 제공하는 폰트이며, 개발자가 임의의 폰트를 적용하고 싶다면 폰트 파일(ttf)을 assets 폴더에 복사한 후, 코드에서 setType..
-
뷰의 기초 중요 속성
UI 구성을 레이아웃 XML로 작성할 떄 뷰 태그에 다양한 속성을 추가할 수 있으며, 속성들은 뷰에 따라 다르다. 이번 시간에는 모든 뷰에 공통으로 지정할 수 있는 중요 속성들을 설명해 보겠다. 이때 레이아웃 XML에 TextView를 사용하는 예를 보여 뷰의 중요 속성을 설명할 것이다. ① id 속성 이는 뷰의 식별자 속성이다. 필수 속성은 아니며 필요 시 추가할 수 있다. 화면에 뷰의 내용을 출력만 하는 목적이라면 id 속성을 생략해도 상관이 없다. 하지만 id 속성이 없다면 레이아웃 XML에 등록하여 자동으로 생성된 뷰 객체룰 자바 코드에서 이용할 수 없다. 즉, 뷰 객체를 자바 코드에서 획득하여 속성 변경 등의 작업을 수행할 수 없다. 뷰 객체를 자바 코드로 직접 생성한게 아니여서 객체명을 알 수..
-
[깡쌤의 안드로이드 프로그래밍] 3장 실습 (2022 ver)
[실습 3-1] 자바 코드로 화면 구성해보기 간단하게 버튼 두 개를 화면에 출력하는 자바 코드를 작성해보자. public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); LinearLayout linear = new LinearLayout(this); Button btn = new Button(this); btn.setText("버튼 1"); linear.addView(btn); Button btn2 = new Button(this); btn2.setText("버튼 2"); linear.addV..
자바(Java)
백준[JAVA] 알고리즘
-
13335 트럭(S1)
문제 url : https://www.acmicpc.net/problem/13335문제 내에 여러 조건이 있지만, 중요 단서 몇 개만 제대로 파악하고 확인할 수 있으면 된다. 아래와 같이 정리해볼 수 있다.문제를 풀면서 헷갈린 조건들은 굵게 표시해보았다.더보기* n 개의 트럭이 다리를 건넌다. (순서는 바꿀 수 없다.)* 다리 위에는 w대의 트럭만 동시에 올라갈 수 있으며, 다리를 건너는 시간 또한 각 트럭당 w의 시간이 걸린다.* 다리 위에 올라가 있는 트럭들의 무게의 합은 다리의 최대하중인 L보다 작거나 같아야 한다.* 다리 위에 완전히 올라가지 못한 트럭의 무게는 다리 위의 트럭들의 무게의 합을 계산할 때 포함하지 않는다 내가 작성한 코드는 아래와 같다.import java.util.*;import..
-
[JAVA] 백준 알고리즘 5585번 문제 풀이
문제 타로는 자주 JOI잡화점에서 물건을 산다. JOI잡화점에는 잔돈으로 500엔, 100엔, 50엔, 10엔, 5엔, 1엔이 충분히 있고, 언제나 거스름돈 개수가 가장 적게 잔돈을 준다. 타로가 JOI잡화점에서 물건을 사고 카운터에서 1000엔 지폐를 한장 냈을 때, 받을 잔돈에 포함된 잔돈의 개수를 구하는 프로그램을 작성하시오. 입력 입력은 한줄로 이루어져있고, 타로가 지불할 돈(1 이상 1000미만의 정수) 1개가 쓰여져있다. 출력 제출할 출력 파일은 1행으로만 되어 있다. 잔돈에 포함된 매수를 출력하시오. 예제 입력 1 380 예제 출력 1 4 예제 입력 2 1 예제 출력 2 15 [문제 풀이] - (1) 처음 시도한 방법 import java.util.*; public class Main { p..
-
[JAVA] 백준 알고리즘 1026번 문제 풀이
문제 옛날 옛적에 수학이 항상 큰 골칫거리였던 나라가 있었다. 이 나라의 국왕 김지민은 다음과 같은 문제를 내고 큰 상금을 걸었다. 길이가 N인 정수 배열 A와 B가 있다. 다음과 같이 함수 S를 정의하자. S = A[0] × B[0] + ... + A[N-1] × B[N-1] S의 값을 가장 작게 만들기 위해 A의 수를 재배열하자. 단, B에 있는 수는 재배열하면 안 된다. S의 최솟값을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거나 같은 음이 아닌 정수이다. 출력 첫째 줄에 S의 최솟값을 출력한다. 예제..
-
[JAVA] 백준 알고리즘 11047번 문제 풀이
문제 준규가 가지고 있는 동전은 총 N종류이고, 각각의 동전을 매우 많이 가지고 있다. 동전을 적절히 사용해서 그 가치의 합을 K로 만들려고 한다. 이때 필요한 동전 개수의 최솟값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) 출력 첫째 줄에 K원을 만드는데 필요한 동전 개수의 최솟값을 출력한다. 예제 입력 1 10 4200 1 5 10 50 100 500 1000 5000 10000 50000 예제 출력 1 6 예제 입력 2 10 4790 1 5 10 50 ..
-
[JAVA] 백준 알고리즘 11399번 문제 풀이
문제 인하은행에는 ATM이 1대밖에 없다. 지금 이 ATM앞에 N명의 사람들이 줄을 서있다. 사람은 1번부터 N번까지 번호가 매겨져 있으며, i번 사람이 돈을 인출하는데 걸리는 시간은 Pi분이다. 사람들이 줄을 서는 순서에 따라서, 돈을 인출하는데 필요한 시간의 합이 달라지게 된다. 예를 들어, 총 5명이 있고, P1 = 3, P2 = 1, P3 = 4, P4 = 3, P5 = 2 인 경우를 생각해보자. [1, 2, 3, 4, 5] 순서로 줄을 선다면, 1번 사람은 3분만에 돈을 뽑을 수 있다. 2번 사람은 1번 사람이 돈을 뽑을 때 까지 기다려야 하기 때문에, 3+1 = 4분이 걸리게 된다. 3번 사람은 1번, 2번 사람이 돈을 뽑을 때까지 기다려야 하기 때문에, 총 3+1+4 = 8분이 필요하게 된다..
DB
-
데이터베이스 기말고사 내용정리
시험 전 중간고사 내용을 정리하여 학습 및 암기를 하기 위해 끄적여 봅니다. 검색 용도와는 맞지 않는 페이지일 수 있습니다. 4. 뷰, 인덱스 뷰 : 하나 이상의 테이블을 합하여 만든 가상의 테이블 편리성 및 재사용성 : 미리 정의된 뷰를 일반 테이블처럼 사용할 수 있기 때문에 편리하다. -> 복잡한 질의를 간단하게 작성할 수 있다. 보안성 : 각 사용자별로 보안이 필요한 데이터를 제외하여 선별하여 보여줄 수 있다. -> 개인정보, 급여, 건강 같은 민감한 정보를 제외한 테이블을 만들어 사용. 독립성 : 논리 DB의 원본 테이블의 구조가 변해도 응용 프로그램에 영향을 주지 않도록 하는 논리적 독립성을 제공한다. - 뷰의 특징 - 원본 데이터 값에 따라 같이 변한다. - 독립적인 인덱스 생성이 어렵다. -..
-
[코멘토] SQL 입문부터 활용까지 - 데이터 분석 보고서 작성과 대시보드 개발 2차 과제
실전 데이터 추출 업무를 수행한다. Northwind Database를 활용한 문제 해결 (Redash) - 모든 문제는 하나의 쿼리로 해결 가능합니다. ( 단, 하나의 쿼리로 정리하기 어려운 경우는 여러 개의 쿼리로 나눠서 문제를 푸시고, 그 과정을 적어주세요.) Northwind Database는 다음과 같은 구조를 가지고 있다. 1. 상품(product)의 카테고리(category)별로, 상품 수와 평균 가격대(list_price)를 찾는 쿼리를 작성하세요. [내 답변] SELECT category, count(product_code) AS "상품 수", avg(list_price) AS "평균 가격대" FROM products GROUP BY category; 저번 과제에서 count() 안에 칼..
-
[코멘토] SQL 입문부터 활용까지 - 데이터 분석 보고서 작성과 대시보드 개발 1차 과제
w3schools.com 예시 database를 활용하여 문제를 해결한다. 사이트는 아래와 같다. https://www.w3schools.com/sql/trysql.asp?filename=trysql_select_all SQL Tryit Editor v1.6 WebSQL stores a Database locally, on the user's computer. Each user gets their own Database object. WebSQL is supported in Chrome, Safari, Opera, and Edge(79). If you use another browser you will still be able to use our Try SQL Editor, but a different ..
-
데이터베이스 중간고사 내용 정리
시험 전 중간고사 내용을 정리하여 학습 및 암기를 하기 위해 끄적여 봅니다. 검색 용도와는 맞지 않는 페이지일 수 있습니다. ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ 데이터:관찰의 결과로 나타난 정량적 혹은 정성적인 실제 값 정보:데이터에 의미를 부여한 것 // 지식 : 사물이나 현상에 대한 이해 DB:조직에 필요 정보를 얻기 위해 논리적으로 연관된 데이터를 모아 구조적으로 통합한 것 [DB의 개념] - DB는 운영 데이터를 통합하여 저장하며 공용으로 사용되는 데이터. (이는 컴퓨터 내부의 하드디스크에 저장) 1. 통합된 데이터(integrated data) 데이터를 통합하는 개념으로, 각자 사용하던 데이터의 중복을 최소화하여 중복으로 인한 데이 터 불일치 현상을 제거 2..