본문 바로가기

전체 글

(107)
안드로이드 스튜디오 Splash 화면 만들기 안드로이드 화면에서 처음 시작시 뜨는 Splash 화면을 만드는 과정입니다. 1. 먼저 splash 화면을 연동할 엑티비티를 하나 만들어줍니다. 2. manifests에서 intent-filter부분을 splashActivity쪽으로 옮겨줍니다. 3. 만들어둔 splash.xml에 원하는 splash 사진을 ImageView로 띄워줍니다. 4. SplashActivity에 handler를 이용하여 3초뒤에 MainActivity로 넘기도록 설정
백준 1260-DFS와 BFS(Kotlin) https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net 문제 접근 기본적으로 dfs와 bfs를 구현하는 문제입니다. 처음 dfs와 bfs를 연습할때 구현하는 방법을 연습하기 좋아보입니다. 정답코드 import java.util.* var node = 0 var g = Array(node+1){ArrayList()} val check = BooleanArray(1001) var que: Queue = LinkedLi..
코틀린, 자바의 비교 연산 차이점(==, ===, equals) 자바 두 참조 변수에서 ==을 사용시 주소값까지 비교한다.(동일성) 두 참조 변수에서 equals로 비교시에는 두 변수의 값만 비교한다.(동등성) 코틀린 자바와 달리 ==을 사용할시 내부적으로 equals를 호출한다.(값만 비교, 동등성) ===을 사용하면 주소값까지 비교할 수 있다. 코틀린에서 equals 와 == 과 같음 동일성 두 객체가 완전히 동일함 하나의 객체만 존재하는 것이고 그 객체를 여러 참조 변수가 사용하는 것을 의미 한마디로 두 변수의 메모리 변수까지 같음 동등성 동일한 정보를 갖는 객체를 의미 서로 다른 객체가 비교 기준에 따라 같은 값을 가지고 있음을 의미 출처 : https://velog.io/@wlsrhkd4023/Kotlin-%EB%8F%99%EB%93%B1%EC%84%B1Eq..
프로그래머스 lv2 - 타겟넘버(Kotlin) https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 접근 주어진 수들을 더하거나 빼서 target넘버를 만드는 경우의 수를 구하는 문제 dfs를 재귀함수로 구현하여 배열안의 값을 하나씩 더하거나 빼서 target과 같으면 경우의 수를++해주는 식으로 구현함 1. 경우의 수 계산 최악의 경우에 수행할 연산 횟수를 계산해서 재귀함수/완전탐색을 사용해도 될지 확인 시간복잡도 numbers의 최대 개수는 20개 이고 한 개당 가능한 경우의 수는 2가..
싱글톤 패턴(Kotlin, java) 싱글톤 프로그램에서 클래스의 인스턴스를 단 하나만 만들어야 할 때 사용되는 디자인패턴 사용예시로는 데이터베이스를 변경할 수 있는 DBHandler 클래스의 인스턴스가 두 개 있어서 동시에 데이터베이스에 접근한다면 문제가 생길텐데(데이터베이스 동시성문제) 이를 방지할 수도 있습니다. 자바에서 싱글톤 구현 public class DBHandler { private static DBHandler instance; // 생성자 접근 차단 private DBHandler(){} public static DBHandler getInstance() { if(instance == null) { instance = new DBHandler(); } return instance; } } 먼저 private로 외부에서 생성..
안드로이드에서 http통신(API 사용하기) 안드로이드에서 API를 사용하기 위한 필수 개념으로는 먼저 안드로이드에서 네트워크 통신하는 방법에 대해 알아야한다. 안드로이드에서 네트워크 통신? 안드로이드에서 서버에 데이터를 요청하고 받아온 데이터를 클라이언트 화면에 표시하는 것 클라이언트와 서버가 통신하는 방식은 주로 소켓연결, http 연결로 나뉨 소켓 연결 소켓 : 네트워크 상의 두 프로그램 사이에서 일어나는 양방향 통신 중 한 쪽의 엔드 포인트 클라이언트와 서버가 특정 포트를 통해 연결을 계속 유지 - 실시간 통신 가능 주로 스트리밍이나 온라인 게임에서 사용되는 연결방식 HTTP 연결 HyperText Transfer Protocol의 약자 80번 포트를 사용하여 웹 상에서 정보를 주고받을 수 있는 프로토콜 동작 방식 클라이언트가 서버에 헤더와..
백준 2576 색종이-2(Kotlin) https://www.acmicpc.net/problem/2567 2567번: 색종이 - 2 가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록 www.acmicpc.net 문제 접근 검은색 영역의 둘레를 구하는 문제 하얀 영역은 0 검은 영역은 1로 처리 1에 인접한 0의 개수를 구하는 문제 정답 코드 import java.util.* fun main(args: Array): Unit = with(Scanner(System.`in`)) { //이차원 배열 위에 0과 1로 표시 val arr = Array(101){IntArray(101)} var n = next..
백준 2246 - 콘도 선정(Kotlin) https://www.acmicpc.net/problem/2246 2246번: 콘도 선정 첫째 줄에 콘도의 개수를 나타내는 자연수 N(1 ≤ N ≤ 10,000)이 주어진다. 다음 N개의 줄에는 각 콘도에 대한 정보를 나타내는 두 정수 D(1 ≤ D ≤ 10,000), C(1 ≤ C ≤ 10,000)가 주어진다. D는 그 콘도의 www.acmicpc.net 문제 접근 입력값을 모두 비교해야되기때문에 배열로 저장 후보군이 될 수 없는 경우는 건너뛰어가며 가능한 경우의 수를 셈 정답 코드 import java.util.* fun main(args: Array): Unit = with(Scanner(System.`in`)) { val n = nextInt() //1. 더 가까운데 숙박비가 더 싼 경우 //2...