반응형

IT 237

[안드로이드] 앱 내 다크 모드 비활성화

삼성 최신 폰을 보면 다크 모드라고 어두운 테마를 제공한다. 다크 모드로 개발된 앱을 실행시키면 흰색 배경이 검은색 배경으로, 흰색 텍스트가 검은색 텍스트로 변경되는 등의 문제를 발견할 수 있다. 핸드폰에서 다크모드를 설정해두었더라도, 앱에서는 다크 모드를 비활성화할 수 있다. (다크 모드 on/off 상관없이 동일하게 표시함) Application 클래스 onCreate에 아래 코드를 추가하면 된다. 아래 코드를 추가하면 앱의 모든 화면에서 다크 모드가 비활성화된다. 1 AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO) cs launcher activity에 적용하면, launcher activity가 두 번 실행되는 문제가 ..

[안드로이드] getIntent 데이터 삭제하기

A앱에서 Intent로 값을 전달하며 B앱을 오픈한 경우, B앱을 종료한 후에 앱 목록에서 B앱을 선택해 다시 실행시키면 getIntent에 전달받은 값이 그대로 있는 문제가 발생한다. 테스트 순서 1. A앱에서 Intent로 값 전달하며 B앱 오픈 2. B앱에서 getIntent().getData()로 데이터 전달받아 작업 진행 후 앱 종료 3. 메뉴 키(softkey) 눌러서 나타나는 앱 목록 중 B앱 눌러서 실행 4. B앱 실행되며 getIntent().getData() 확인 시 1번에서 전달받은 데이터가 그대로 있음 해결 방법 onCreate에 아래 코드로 추가하여 해결이 가능하다 1 2 3 if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_LAUNCHED..

[안드로이드+JAVA] 지정한 수 만큼 문자열 잘라서 출력하기

지정한 수 만큼 문자열 잘라서 출력하기 문자열 길이와 반복 횟수를 구한 후 substring을 사용하여 출력 android string api : developer.android.com/reference/java/lang/String 1 2 3 4 5 6 7 8 9 10 11 12 String word = "1234567890a1234567890b1234567890c1234567890d"; int cut = 10; // 문자열 자를 문자 수 int len = word.length(); // 문자열 총 길이 int repeat = len / cut; // 반복 횟수 String leftWord = word; // 자르고 남은 문자열 while (0

[Windows] 윈도우10 특정 포트 열기 (방화벽 해제)

윈도우10에서 특정 포트 방화벽 해제 하는 방법이다. 1. 방화벽 설정(고급 보안이 포함된 Windows Defender 방화벽) 열기 아래 순서와 동일하게 해도 되고, windows 검색을 사용하여 방화벽 화면을 바로 진입해도 된다. 1-1. 설정 > 네트워크 및 인터넷 진입 1-2. Windows 방화벽 진입 1-3. 고급 설정 진입 2. 인바운드 규칙에서 새 규칙 생성 3. 포트 선택 후 다음 4. TCP 선택 및 특정 포트 입력 후 다음 5. 연결 허용 후 다음 6. 모두 체크 후 다음 7. 이름 입력 후 마침 8. 인바운드 규칙에 추가한 인바운드 규칙이 표시됨 9. 마무리로 설정이 제대로 되어있는지 확인 추가한 인바운드 규칙을 마우스 우클릭하여 속성 진입 - 일반 - 작업 - 연결 허용(L) 확..

IT/팁 2020.09.29

[백준] 단계별로 풀어보기 - 3단계 2739번 (for문)

문제 N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다. 답 1 2 3 4 5 6 7 wslet line = readLine()! let num = Int(line)! for i in 1...9 { print("\(num) * \(i) = \(num * i)") } Colored by Color Scripter cs 참고사항 swift for문 임시 변수를 _로 생략 가능 범위 : 배열 또는 범위 지정자 for [임시 변수] in [범위] { // to do } 범위 지정자 A...B : A, B를 포함한 A부터 B까지 범위 A..

IT/백준 2020.09.21

[백준] 단계별로 풀어보기 - 2단계 2884번

문제 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만, 조금만 더 자려는 마음은 그 어떤 것도 없앨 수가 없었다. 이런 상근이를 불쌍하게 보던, 창영이는 자신이 사용하는 방법을 추천해 주었다. 바로 "45분 일찍 알람 설정하기"이다. 이 방법은 단순하다. 원래 설정되어 있는 알람을 45분 앞서는 시간으로 바꾸는 것이다. 어차피 알람 소리를 들으면, 알람을 끄고 조금 더 잘 것이기 때문이다. 이 방법을 사용하면, 매일 아침 더 잤다는 기분을 느낄 수 있고, 학교도 지각하지 않게 된다. 현재 상근이가 설정한 알람 시각이 주어졌을 때, 창영이의 방법을 사용한다면, 이를 언제로..

IT/백준 2020.09.21

[백준] 단계별로 풀어보기 - 2단계 14681번

문제 흔한 수학 문제 중 하나는 주어진 점이 어느 사분면에 속하는지 알아내는 것이다. 사분면은 아래 그림처럼 1부터 4까지 번호를 갖는다. "Quadrant n"은 "제n사분면"이라는 뜻이다. 예를 들어, 좌표가 (12, 5)인 점 A는 x좌표와 y좌표가 모두 양수이므로 제1사분면에 속한다. 점 B는 x좌표가 음수이고 y좌표가 양수이므로 제2사분면에 속한다. 점의 좌표를 입력받아 그 점이 어느 사분면에 속하는지 알아내는 프로그램을 작성하시오. 단, x좌표와 y좌표는 모두 양수나 음수라고 가정한다. 답 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 import Foundation let lineX = readLine()! let lineY = readLine()! l..

IT/백준 2020.09.21

[백준] 단계별로 풀어보기 - 2단계 2753번

문제 연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수이면서 100의 배수가 아니라서 윤년이다. 1900년은 100의 배수이고 400의 배수는 아니기 때문에 윤년이 아니다. 하지만, 2000년은 400의 배수이기 때문에 윤년이다. 답 1 2 3 4 5 6 7 8 9 import Foundation let line = readLine()! let num = Int(line)! if num % 4 == 0 && (num % 100 != 0 || num % 400 == 0) { print("1") } else { print("0") } Colored by C..

IT/백준 2020.09.21

[백준] 단계별로 풀어보기 - 2단계 9498번 (switch)

문제 시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오. 답 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 import Foundation let line = readLine()! let jumsu = Int(line)! switch jumsu { case 90...100: print("A") case 80...89: print("B") case 70...79: print("C") case 60...69: print("D") default: print("F") } cs 참고사항 swift에서는 case에 break가 없어도 다음 case를 진행하지 않는다. 다음..

IT/백준 2020.09.20

[백준] 단계별로 풀어보기 - 1단계 2588번

문제 (세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다. (1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오. 답 1 2 3 4 5 6 7 8 9 10 11 12 13 import Foundation let strA = readLine() ?? "" let strB = readLine() ?? "" let a = Int(strA) ?? 0 let b = Int(strB) ?? 0 var tmpB = b while tmpB != 0 { print(a*(tmpB%10)) tmpB /= 10 } print(a*b) cs 참고사항숫자 n번째 자리수의 숫자 추출 방법 : 추출하고자 하는 자리수의 숫자를 ..

IT/백준 2020.09.20

[백준] 단계별로 풀어보기 - 1단계 10430번

문제 (A+B)%C는 ((A%C) + (B%C))%C 와 같을까? (A×B)%C는 ((A%C) × (B%C))%C 와 같을까? 세 수 A, B, C가 주어졌을 때, 위의 네 가지 값을 구하는 프로그램을 작성하시오. 답 1 2 3 4 5 6 7 8 9 10 11 import Foundation let line = readLine() ?? "" let lineArr = line.split(separator: " ") let a = Int(lineArr[0]) ?? 0 let b = Int(lineArr[1]) ?? 0 let c = Int(lineArr[2]) ?? 0 print((a+b)%c) print(((a%c)+(b%c))%c) print((a*b)%c) print(((a%c)*(b%c))%c) cs..

IT/백준 2020.09.20

[백준] 단계별로 풀어보기 - 1단계 1008번

문제 두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오. 답 1 2 3 4 5 6 7 import Foundation let line = readLine() ?? "" let lineArr = line.split(separator: " ") let a = Double(lineArr[0]) ?? 0.0 let b = Double(lineArr[1]) ?? 0.0 print(a/b) cs 참고사항 nil 병합 연산자 A ?? B : A가 nil이 아니면 A를 반환하고, nil이면 B를 반환한다. 문자열 자르는 방법 두 가지 split(separator: " ") Character Type만 가능 ex) text.split(separator: " ") components(separat..

IT/백준 2020.09.20

[백준] 단계별로 풀어보기 - 1단계 10998번

문제 두 정수 A와 B를 입력받은 다음, A×B를 출력하는 프로그램을 작성하시오. 답 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 import Foundation let input = readLine()! func separate(input: String) -> (Int, Int) { let arr = input.components(separatedBy: " ") if arr.count == 2 { if let a = Int(arr[0]), let b = Int(arr[1]) { return (a, b) } } return (0, 0) } var (a, b) = separate(input: input) print(a * b) Colored by Color Scripter cs 참고사항..

IT/백준 2020.09.19
반응형