728x90

프로그래밍 410

백준] 14563 - 완전수(중앙대학교 CodeRace 2017)

시간 제한 : 1초메모리 제한 : 128MB 입력첫째 줄에 자연수의 개수 T가 주어진다. T은 1000보다 작은 수이다.둘째 줄에는 공백을 사이에 두고 완전수인지 구해야 되는 자연수 N이 주어진다.(N> t; vector arr(t); for (int i = 0; i > arr[i]; for (int i = 0; i < t; i++) { if (arr[i] == 1) cout j) sum += (arr[i] / j + j); else break; } } if (sum == arr[i]) cout

코틀린(Kotlin) 조건문(When, if)

코틀린에서의 기본적으로 사용할 수 있는 조건문은 크게 두 가지, if와 when이다. if-elseif-else 구문은 기존의 언어들의 형태와 동일한 방식으로 사용할 수 있다. if(조건문) {내용...}else {내용...} whenwhen이라는 표현이 조금 색다른 표현처럼 느껴질 수 있는데 이는 다른 언어의 switch-case 구문이다.switch-case 구문에서 변수의 범위를 지정하는 일이 귀찮은데, 코틀린에서는 이 부분을 많이 개선한 것 같다. when(x) {1 -> { 내용... }2 -> { 내용... }else -> { 내용... }} when(x) {1, 2 -> { 내용... }in 10..30 -> { 10에서 30까지 }!in 10..30 -> { 10에서 30까지에 포함되지 않..

코틀린(Kotlin)을 이용하면 findViewById()를 사용할 필요가 없다

코틀린에서는 더 이상 findViewById()를 사용하지 않아도 된다.정확히는 Kotlin Android Extension만 적용시키면, 레이아웃을 import 시키는 것만으로도 XML에서 정의내린 위젯들을 Id로 읽어들여 하나하나 변수로 만들어줄 필요가 없어졌다. textviewID라는 ID를 가지는 요소를 XML에서 정의했다고 치자.자바에서는 말할 것도 없이 findViewById()를 사용하는 방법부터 써먹을 것이고, 코틀린에서도 전통적인 자바의 방식을 사용하는 사람들이 많을 것이다. TextView textViewID = findViewById(R.id.ui_text_hello) as TextView textViewID.text = "기존의 방식"이 방식이 아예 틀린 방식이거나 구 시대의 잔재라..

백준] 2564 - 경비원(KOI 2007 지역본선 초등부)

시간 제한 : 1초메모리 제한 : 128MB 입력첫째 줄에 블록의 가로의 길이와 세로의 길이가 차례로 주어진다. 둘째 줄에 상점의 개수가 주어진다. 블록의 가로의 길이와 세로의 길이, 상점의 개수는 모두 100이하의 자연수이다. 이어 한 줄에 하나씩 상점의 위치가 주어진다. 상점의 위치는 두 개의 자연수로 표시된다. 첫째 수는 상점이 위치한 방향을 나타내는데, 1은 블록의 북쪽, 2는 블록의 남쪽, 3은 블록의 서쪽, 4는 블록의 동쪽에 상점이 있음을 의미한다. 둘째 수는 상점이 블록의 북쪽 또는 남쪽에 위치한 경우 블록의 왼쪽 경계로부터의 거리를 나타내고, 상점이 블록의 동쪽 또는 서쪽에 위치한 경우 블록의 위쪽 경계로부터의 거리를 나타낸다. 마지막 줄에는 동근이의 위치가 상점의 위치와 같은 방식으로 ..

안드로이드 예제 - 코틀린으로 로그인-메뉴 화면 만들기

코틀린으로 처음 모바일 프로그래밍을 입문하는 사람들은 관련 책을 참고하는 것을 추천한다.필자가 참고하는 책은 Do It! 안드로이드 앱 프로그래밍으로, 꽤 오래 전에 산 책이라서 코틀린이 아닌 자바로 써진 책이다. 코틀린으로 써진 책은 아니지만 이렇게 간단한 어플 만들기 예제들이 많이 있어서 예제 아이디어를 얻는 용도로 사용하고 있다. 책으로 코틀린 관련 지식들을 습득할 수 없으니, 부족한 부분들은 자바의 소스들을 가져다 넣고 코틀린으로 바꿔서 해당 기능이 어떻게 사용되는지 확인하거나, 구글링으로 해결하고 있다. 이번 예제는 '로그인 화면과 메뉴 화면 간단 만들기'라고 되어 있다. 서버/클라이언트 통신을 통해서 로그인 확인을 하지는 않고, 앱에 미리 저장해둔 아이디와 비밀번호를 비교하는 작업으로 간단하게..

백준] 4539 - 반올림(ACM-ICPC Regionals)

시간 제한 : 1초메모리 제한 : 128MB 입력첫째 줄에 테스트 케이스의 개수 n이 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 정수 x가 주어진다. (0 ≤ x ≤ 99999999) 출력각 테스트 케이스마다 입력으로 주어지는 정수를 문제 설명에 나온 것처럼 반올림한 결과를 출력한다. 소스코드 #include #include using namespace std; int main(void) { int n, x, result, itmp; double dtmp; cin >> n; while (n--) { cin >> x; for (itmp = 0; pow(10, itmp) < x; itmp++); result = x; for (int i = 1; i < itmp; i++) { dtmp = (do..

운영체제(Opearting System:Concepts) 9판 1장 연습문제

1.1 다중 프로그래밍과 시분할 환경에서, 다수의 사용자가 동시에 시스템을 공유한다. 이러한 상황은 여러 가지 보안 문제를 일으킬 수 있다. a) 다른 프로세스의 자원에 접근할 수 있음. 자원을 독점해 다른 프로세스가 자원을 사용하지 못하게 할 수 있어, 시스팀의 자원 제어가 어려움. b) 보장할 수 없다. 동일 수준의 보안을 보장하려면 동일한 환경을 보장해야 하지만 동일한 환경을 보장할 수 없으며, 각 기능들로 인한 돌발 문제도 존재하기 때문이다. 1.2 자원 활용의 문제는 운영체제의 유형별로 다른 모습으로 나타난다. 다음과 같은 환경에서는 어떤 자원들이 신중하게 관리되어야 하는지 나열하시오. a) 메인 프레임 또는 미니컴퓨터 시스템 자원 이용을 극대화하도록 설계해야 하므로, 모든 자원, 즉, CPU/..

Computer Science/OS 2018.07.15

백준] 2740 - 행렬 곱셈

시간 제한 : 1초메모리 제한 : 128MB 입력첫째 줄에 행렬 A의 크기 N 과 M이 주어진다. 둘째줄부터 N개의 줄에 행렬 A의 원소 M개가 차레대로 주어진다. 그 다음 줄에는 행렬 B의 크기 M과 K가 주어진다. 이어서 M개의 줄에 행렬 B의 원소 K개가 차례대로 주어진다. N과 M, 그리고 K는 100보다 작거나 같고, 행렬의 원소는 절대값이 100보다 작거나 같은 정수이다. 출력첫째줄부터 N개의 줄에 행렬 A와 B를 곱한 행렬을 출력한다. 행렬의 각 원소는 공백으로 구분한다. 소스코드 #include using namespace std; int main(void) { int A[100][100], B[100][100], C[100][100] = { 0, }, n, m, k; cin >> n >>..

728x90