인스타를 보던 중 SCPC 2021 참가 신청 광고가 떴다. 최근 알고리즘 문제들을 많이 풀고 있었기도 하고 좋은 경험이 될 것 같아 바로 사이트에서 참가 신청을 완료했다. SCPC는 삼성전자 대학생 프로그래밍 경진대회로, 매년 열리고 있는데 나는 이전에 SCPC 2018에 딱 한 번 참가했던 적이 있다. 그 때는 다섯 문제 중 첫 번째 문제 만점 100점, 두 번째 문제 부분점수 48점(만점 100점)으로 1차를 통과하고 2차는 기억이 안나는데 코드 제출 이력이 하나도 없는 걸 보니 아마 당일에 참가하지 않은 것 같다. 아무튼 신청을 완료한 후 캘린더에 일정을 추가하고 예선날이 다가오는 것을 기다렸다. 1차 예선 1차 예선은 7월 16일 오후 3시부터 다음날인 7월 17일 오후 3시까지 총 24시간동안..
문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. 출력 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 예제 예제 입력 1 예제 출력1 10 5 2 3 1 4 2 3 5 1 7 1 1 2 2 3 3 4 5 5 7 풀이 이 문제를 총 3가지 방식으로 풀어보았다. 크기가 n인 배열에 모든 숫자를 차례대로 넣은 후 정렬하여 출력 Map을 사용하여 입력으로 들어오는 숫자들과 그 개수만 저장한 후 정렬하여 출력 크기가 10001인 배열에 각 숫자마다 개수를 저장한 후 차례대로 출력..
문제 지민이는 자신의 저택에서 MN개의 단위 정사각형으로 나누어져 있는 M*N 크기의 보드를 찾았다. 어떤 정사각형은 검은색으로 칠해져 있고, 나머지는 흰색으로 칠해져 있다. 지민이는 이 보드를 잘라서 8*8 크기의 체스판으로 만들려고 한다. 체스판은 검은색과 흰색이 번갈아서 칠해져 있어야 한다. 구체적으로, 각 칸이 검은색과 흰색 중 하나로 색칠되어 있고, 변을 공유하는 두 개의 사각형은 다른 색으로 칠해져 있어야 한다. 따라서 이 정의를 따르면 체스판을 색칠하는 경우는 두 가지뿐이다. 하나는 맨 왼쪽 위 칸이 흰색인 경우, 하나는 검은색인 경우이다. 보드가 체스판처럼 칠해져 있다는 보장이 없어서, 지민이는 8*8 크기의 체스판으로 잘라낸 후에 몇 개의 정사각형을 다시 칠해야겠다고 생각했다. 당연히 8..
문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. 출력 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 예제 예제 입력 1 예제 출력1 5 5 4 3 2 1 1 2 3 4 5 풀이 수가 주어졌는지를 나타내는 배열을 정의한다. (음수도 가능하므로 배열의 크기는 절댓값 1000000*2+1) 주어지는 수들이 나타났음을 배열에 표시한다. 배열을 처음부터 탐색하면서 수가 나타났음으로 표시된 경우 해당 수를 출력한다. 이 때 줄마다 println을..
문제 16진수 수를 입력받아서 10진수로 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 16진수 수가 주어진다. 이 수의 최대 길이는 6글자이다. 16진수 수는 0~9와 A~F로 이루어져 있고, A~F는 10~15를 뜻한다. 또, 이 수는 음이 아닌 정수이다. 출력 첫째 줄에 입력으로 주어진 16진수 수를 10진수로 변환해 출력한다. 예제 예제 입력 1 예제 출력1 A 10 풀이 입력받은 문자열의 첫번째 자리수부터 10진수로 변환하여 result 변수에 더한다. 이 때 알파벳(A~F)인 경우와 숫자인 경우를 따로 처리한다. import java.io.* fun main() { val br = BufferedReader(InputStreamReader(System.`in`)) val input = br...
문제 갑부 최백준 조교는 동전을 최소로 바꾸는데 성공했으나 김재홍 조교가 그 돈을 발견해서 최백준 조교에게 그 돈을 나누자고 따진다. 그 사실이 전 우주로 알려지자 우주에 있던 많은 생명체들이 자신들에게 돈을 분배해 달라고 당장 달려오기 시작했다. 프로토스 중앙 우주 정부의 정책인, ‘모든 지적 생명체는 동등하다’라는 규칙에 입각해서 돈을 똑같이 분배하고자 한다. 한 생명체에게 얼마씩 돈을 줄 수 있는가? 또, 생명체들에게 동일하게 분배한 후 남는 돈은 얼마인가? 입력 첫째 줄에는 최백준 조교가 가진 돈 n과 돈을 받으러 온 생명체의 수 m이 주어진다. (1 ≤ m ≤ n ≤ 10^1000, m과 n은 10진수 정수) 출력 첫째 줄에 생명체 하나에게 돌아가는 돈의 양을 출력한다. 그리고 두 번째 줄에는 ..
문제 문제 출처 https://programmers.co.kr/learn/courses/30/lessons/70128 문제 설명 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 길이) 제한 사항 a, b의 길이는 1 이상 1,000 이하입니다. a, b의 모든 수는 -1,000 이상 1,000 이하입니다. 입출력 예 a b reseult [1,2,3,4] [-3,-1,0,2] 3 [-1,0,1] [1,0,-1] -2 입출력 예 #1 a와 b의 내적은 1*(-3) + 2*(-1) + ..
코틀린이란? 코틀린(Kotlin)은 JetBrains에서 개발한 언어로, 2017년 구글이 안드로이드의 공식 언어로 추가했다. 코틀린은 JVM, JS, Native상에서 실행될 수 있는 멀티플랫폼 언어이다. 또한 자바와 상호 운용이 100% 지원되므로 자바 코드를 완전히 바꾸지 않고도 자바와 혼용할 수 있다. Kotlin/JVM: 자바 가상 머신에서 동작하는 자바 애플리케이션이나 안드로이드 애플리케이션을 만들 수 있다. Kotlin/JS: 자바스크립트로 웹 브라우저에서 동작하는 애플리케이션을 만들 수 있다. Kotlin/Native: LLVM 컴파일러를 이용하여 여러 플랫폼을 타깃으로 하는 애플리케이션을 만들 수 있다. 코틀린의 장점 1. 자료형 오류를 미리 잡을 수 있다. 코틀린은 프로그램이 컴파일될 ..
- Total
- Today
- Yesterday
- Android
- androidx.core
- 자바
- 코틀린
- Naver AI Burning Day
- 라이브 데이터
- 우선순위큐
- architectural pattern
- 프로그래머스
- heap
- 알고리즘
- 아키텍처 패턴
- 힙
- BAEKJOON ONLINE JUDGE
- java
- 변수
- hilt
- viewmodel
- gradle
- SCPC2021
- 후기
- Algorithm
- MutableLiveData
- 백준
- programmers
- Kotlin
- error
- 뷰모델
- livedata
- 안드로이드
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |