import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; // 백준 10430번 : 나머지 public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String sa = br.readLine(); int a = Integer.parseInt(sa); String sb = br.readLine(); int b = Integer.parseInt(sb); String sc = br.read..
이 문제는 불교 국가의 불기연도와 일반적인 서기연도 시스템을 잘 알기만하면 간단히 풀 수 있는 문제이다. 하지만 일반적으로 불교 국가의 불기연도를 잘 모르는 경우가 많은데, 불교연도는 서기연도의 +543년이다. 불교연도 = 서기연도 + 543년 이것을 이용하여 Scanner 클래스로 연도를 입력받고 간단히 풀 수 있었다. import java.util.Scanner; public class Main { // 백준 18108번 : 불교 국가의 (불기 연도)를 (서기연도)로 변환하는 문제 public static void main(String[] args) throws IOException { // 기본적인 Scanner 클래스 이용 방법 Scanner sc = new Scanner(System.in); i..
'스파르타 코딩 클럽' 온라인 교육 플랫폼에서 배운 내용을 토대로 지금까지 프로젝트를 진행해왔는데, 다뤄보지 못했던 언어도 접하고, 각종 프레임워크, 라이브러리를 공부하다보니 서비스 개발에 더 흥미가 생기기 시작했습니다. 이번 기회를 토대로 앞으로도 꾸준히 'App' 개발을 공부해보려고 합니다. 현재 만든 프로젝트는 수업내용을 따라가며 만든 프로젝트이기 때문에 기존 수업에서 완성되는 최종 앱과는 크게 다르지 않습니다. 앱의 이름과 설명만 조금 수정했습니다. https://expo.dev/@gnob/Mytips?serviceType=classic&distribution=expo-go Expo Expo is an open-source platform for making universal native apps..
앱 서비스를 다 만들었으면 앱 배포도 만드는것 못지않게 중요합니다. 앱 스토어나 구글 플레이스토어 등 앱 마켓에 따라 배포가이드가 다르기때문입니다. 이번에는 배포를 하기 위한 체크리스트에 대해 공부해았습니다. 앱 개발을 하면서 써왔던 "Expo"는 개발 뿐 아니라 배포,수정재배포 등 앱 개발 전체과정을 도와주는 툴입니다. Expo도움을 받아 앱버전관리, 안드로이드, ios 인증버전관리 등을 쉽게할 수 있습니다. 먼저 앱 배포에 필요한 것들은 1) 앱 로고 2) 스플래시 스크린(앱 시작 초기화면) 3) 앱 마켓에 올릴 설명 이미지 입니다. 플래시 스크린은 앱을 다운받았을 때 스마트폰 화면에 출력될 로고이미지와 앱을 켰을때 메인화면이 나오기 전 로고 등 '인트로페이지' 와 같이 짧게 보여지는 화면입니다. 스..
간단한 문제이지 싶어, Scanner를 새롭게 만들고 int형으로 변수 a, b를 선언한 후 출력문에서 System.out.println(a / b); 로 출력을 해보았지만 원치 않는 결과가 나오게 되었다. 제시된 조건 중에 절대오차, 상대오차에 관한 내용이 나와있는데, 그것을 고려하여 변수형을 바꾸어 시도해보게되었다. 처음에 float 자료형으로 처리를 해보았지만 원하는 결과가 나오지 않았고, double 자료형으로 바꾸고 난 후에야 정답 출력값이 나올 수 있었다. 아마도 유효자릿수가 float자료형보다는 double 자료형이 더 많이 처리할 수 있어서 이러한 결과가 나온 것 같다. import java.util.Scanner; public class Main { public static void ma..
먼저 Scanner 클래스를 이용해 변수에 nextInt() 방식으로 하나하나 담고자 하였다. 비효율적인 데이터 담기인것을 알면서도 문제를 차근차근 풀어보고 싶어 진행을 해보았다. 변수를 말의 종류인 6종류에 맞춰 6개를 만들고 (king, queen, rook...) 각각 sc.nextInt() 처리로 데이터를 담고 밑에서 if 문을 통해 처리하고자하였다. if문에서 king이 1이 아니고, 1보다 클때 king이 1이 아니고, 1보다 작을때 를 하나하나 조건 붙이다보니 코드가 매우 길어졌다. 효율적인 방법이 없을까 고민하다가 ArrayList 나 배열을 사용하기로했다. ArrayList는 문자를 담는 것이라고 알고 있어서 배열을 사용해 구현하고자하였다. int[] cnt = new int[6]; //..
앱 서비스를 만들때 앱에 광고넣을 수 있는 방법 중 배너 생성에 대해 공부해보았습니다. 1. 애드몹 가로배너 광고 단위 설정 2. 앱 상에 적용 간단한 구조입니다. Google 애드몹에서 부여받은 배너 키값을 ios의 googleMoileAdsAppId 부분에 넣어주시면 됩니다. 두번째 키 값은 '배너 형태의 그림 썸네일' 이므로 실제 Main 페이지나 Detail 페이지 등 실제 페이지에서 배너를 보여줄 공간에 사용해야합니다. MainPage.js 에는 import { setTestDeviceIDAsync, AdMobBanner, AdMobInterstitial, PublisherBanner, AdMobRewarded } from 'expo-ads-admob'; 가 추가됩니다. 위 코드에서는 expo-..
앱 서비스를 만들때 수익 창출도 가능한지 알아보다가 수익성 앱에 광고넣을 수 있는 방법에 대해 공부해보았습니다. 수익성 앱? : 앱에서 수익을 내는 방법을 말합니다. : 수익을 내는 방법으로는 구글광고, 애드몹 등이 있습니다. : 예를 들어 시중에 등록되어있는 앱 서비스들을 보면 메모장이나 캘린더의 UI 디자인을 예쁘게 꾸며 1000원~3000원 사이의 유료 앱으로 출시한 것을 볼 수 있습니다. 수익성 앱 배포방법? : 리액트 네이티브 & Expo 앱으로 쉽게 배포하기 다양한 광고 수익 모델 1) 앱 내 배너 광고 수익 모델 >> 외부링크로 넘어가는 것 (Expo의 Linking 기능도 이용 가능) 2) 앱 콘텐츠 판매 수익 모델 >> 인앱결제 / 예를들어 앱 내에서 결제를 해야 하는 경우가 해당 3) ..
파이어베이스에서 제공하고있는 Realtime Database(리얼타임 데이터베이스) 에 대해서 공부해보겠습니다. 만약 어떠한 컨텐츠를 누르면 특정 페이지로 넘어가는 기능을 구현하고자할떄 그 컨텐츠에 담긴 모든 데이터를 특정 페이지로 넘기게 될 수 있습니다. 하지만 이러한 방식은 모든 상세 데이터를 넘기는 것이므로 느려지거나 무거울 수 있습니다. 예를 들어 인스타그램이나 페이스북처럼 실시간으로 댓글이 달리고 수정되는 서비스에서 모든 상세 데이터를 특정 페이지에 넘긴다고했을때 문제가 될 수 있는 것입니다. 댓글같은 경우엔 실시간으로 데이터가 변경될 수도 있기 때문입니다. 이를 개선하여 그 컨텐츠의 인덱스를 조회해서 그 인덱스에 해당하는 컨텐츠를 누를때마다 최신 데이터를 가져오게 해야합니다. 실습) data...