마음만은 새내기

항상 초심을 잃지 않고 생활하겠습니다~!

프로그래밍 92

[백준] #1085 : 직사각형에서 탈출

★ solved.ac 난이도 : B3 (작성 시점 기준) [문제 본문 링크] ★ 풀이 문제에 주어진 현재 위치(x, y)와 직사각형의 크기(w, h)에서 min(min(x, y), min(w-x, h-y))의 값을 출력하시면 됩니다. min(x, y) 부분은 (0, 0)에서의 거리를 계산하기 위해 사용되고, min(w-x, h-y) 부분은 (w, h)에서의 거리를 계산하기 위해 사용됩니다. [소스 코드] HTML 삽입 미리보기할 수 없는 소스 ★ 틀린 점이 있다면 알려주세요~!

개발일지_20220730

오랜만에 필자의 졸업 작품인 '스도쿠 16 퍼즐'의 기능을 추가해보았다. 원래 Firebase RTDB에 데이터를 저장했으나, 순위 조회 등 복잡한(?) 데이터를 조회하는 데 어려움이 있었다. 이로 인하여 실시간 멀티플레이 데이터를 제외한 모든 데이터를 MySQL에 저장하기로 하였고, AWS에 PHP를 설치하여 접근하는 방식으로 구현하였다. 여기에 단계별 스도쿠 기능을 추가하였고, Richard Stolk의 변형 스도쿠 시리즈 중 하나인 'No Touch Sudoku' 생성 기능도 추가하였다. 처음에는 Spring Boot를 사용하려고 하였으나, Tomcat 서버의 메모리 누수 문제로 인하여 다른 방법을 찾아보았다. PHP를 설치하는 과정에서 Apache 서버도 함께 설치하였는데, 필자가 Bootstra..

IEEE 754 변환 연습 문제

[문제] 컴퓨터에서 부동소수점을 표현하는 방법으로 IEEE 754 표준이 사용된다. 이 표준에서는 +0과 -0, 무한, NaN 등을 표시하는 방법과 이에 대한 연산 방법을 정의하고 있다. 표현 범위에 따라 32비트 단정밀도와 64비트 배정밀도 등으로 구분된다. 많은 프로그래밍 언어에서 부동소수점 표현 방법으로 IEEE 754 표준을 적용하고 있다. 부동소수점 표현은 부호, 지수, 가수 부분으로 구성된다. 32비트 단정밀도 기준으로 설명하면 부호 1비트, 지수 8비트, 가수 23비트로 구성되어 있다. 10진수 -218.6875를 IEEE 754(32비트 단정밀도)로 표현해보자. 먼저 음수이므로 부호 비트는 1이 된다. 다음으로 절댓값을 2진수로 나타내면 11011010.1011(2)이 된다. 2진수 절댓값..

프로그래밍 2022.07.25

졸업 작품 통계 및 구름 IDE 사용 후기

최근에 Google Play Console에 들어가서 필자의 졸업 작품인 스도쿠 16 퍼즐의 통계를 보았는데 실적이 좋지 않았다. 여기에 비정상 종료까지 감지되었는데, Firebase Realtime Database 연결 상태 확인 부분에서 문제가 발생한 것으로 확인되었다. 정확한 원인은 찾지 못했으나, 혹시나 하는 생각에 Firebase Crashlytics도 연동하였다. 최근에 구름(Goorm) IDE를 사용하여 Android 앱 제작을 시도했다. 물론 무료 버전은 성능이 약하고, 필자가 매일 노트북 컴퓨터를 갖고 갈 수 없는 관계로 과감하게(?) 구독을 하였다. 당연히 Android Studio IDE 설치는 불가능하고 명령줄 프로그램으로 App Bundle (또는 APK) 파일 생성은 가능했다. ..

[백준] #2875 : 대회 or 인턴

★ solved.ac 난이도 : B3 (작성 시점 기준) [문제 본문 링크] 2875번: 대회 or 인턴 첫째 줄에 N, M, K가 순서대로 주어진다. (0 ≤ M ≤ 100, 0 ≤ N ≤ 100, 0 ≤ K ≤ M+N), www.acmicpc.net ★ 풀이 N = 여학생의 수, M = 남학생의 수, K = 인턴십 참여 학생 수로 하겠습니다. 정석적인 해법은 (N ≥ 2) && (M ≥ 1) && (N+M ≥ K+3)을 만족하는 동안 반복문을 사용하는 방법이 있습니다. 하지만, 문제의 규칙을 응용하여 min(min(N/2, M), (N+M-K)/3))을 계산하면 반복문 없이도 해결할 수 있습니다. [소스 코드] ★ 틀린 점이 있다면 알려주세요~!