Shiny Sky Blue Star

전체 글 180

JAVA 프로그래머스 Lv.3 표현 가능한 이진트리

https://school.programmers.co.kr/learn/courses/30/lessons/150367 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  문제 표현이 가능한지 확인할 숫자가 들은 Long 배열 numbers ( 1 1  )가 입력으로 들어옴.배열에 있는 숫자를 이진수로 바꾸어 이진 트리에 추가하여 해당 수를 판별하는데 이 때 숫자를 하나의 이진트리로 해당 수를 표현할 수 있다면 1을 결과 배열에 추가하고, 표현할 수 없다면 0을 결과 배열에 추가하여 return한다. 배열에 있는 숫자를 이진수로 바꾸어 이진수가 포화 이진트리 (완전 이진트리)가 될 수 있도록 문자열 앞에 0을..

JAVA 백준 10829 이진수 변환

https://www.acmicpc.net/problem/10829 어려운 문제는 아니지만 JAVA에 이진수 변환 함수가 있음을 기록하려고 남긴다. 최종 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); long num = Long.parseLong(br.readLine()); String binary ..

JAVA 프로그래머스 Lv.3 110 옮기기

https://school.programmers.co.kr/learn/courses/30/lessons/77886 문제 변환할 문자열이 담긴 배열 s가 입력으로 들어옴. 문자열 배열 s의 길이( 1 1 )1과 0으로 이루어진 문자열 x에서 "110" 이라는 문자열을 뽑아 임의의 위치에 다시 삽입하여 x을 사전 순으로 앞에 오도록 만든다.문자열 배열 s의 모든 문자열을 사전 순에서 가장 앞에 오도록 만들어 return한다. 초기 코드import java.util.*;class Solution { public static String stackToString(Stack result) { String s = ""; while (!result.isEmpty()) { s = s.conc..

기한 관리 어플 개인 프로젝트(Dart, Flutter)

최근 만든 것 중 가장 많은 기능이 들어 있어서 가장 복잡하고 어려웠다.특히 다양한  클래스를 사용했는데 이 때 이 클래스의 함수 사용법이나 함수 항목 관련 내용들을 찾기가 어려웠고, 설명된 내용들은 물론 많았지만 내가 필요한 기능은 찾아보기가 힘들었던 것 같다. 일단 기능을 소개하겠다.주요 기능은 일단 제목에서도 나왔던 것처럼 다양한 기한을 관리하는 어플이고 가장 메인은 음식, 식재료 기한을 관리하는 어플이다. 메인 시작 화면 메인이 되는 화면에서는 모든 목록을 출력한다.목록이 비었을 때는 항목을 추가하라는 문구가 메인 화면에 뜨며 목록에 항목이 추가되는 즉시 해당 문구가 사라지고 추가된 목록이 출력된다.floatingActionButton을 통해 목록 리스트에 항목을 추가할 수 있으며 버튼에 마우스를..

개인 프로젝트 2025.02.16

타이머와 스톱워치 개인 프로젝트(Dart, Flutter)

시계 어플에 있는 기능글을 구현해보고 싶어서 시작한 프로젝트이다.특히 알람 시계를 구현해보고 싶었는데 참고할 수 있는 것이 별로 없고 너무 복잡해 일단 제외하고 완성했다. 기능은 총 두 가지로 타이머와 스톱워치로 기능은 간단하다.각 기능 선택은 BottomNavigationBar에 클릭 시 화면이 전환된다. Timer 기능초기 화면으로 가장 위에 있는 시간 부분은 시간을 입력하는 부분으로 TextField로 만들었다.이 부분에 원하는 시간을 입력하면 바로 아래 있는 회색 시계 부분에 시간이 지정된다.-> 원래 TextField에 시간을 입력하고 TextField를 변화시켜 남은 시간을 보여주고 싶었으나 해당 기능에 대한 정보를 얻을 수 없어 시간 입력 부분과 출력 부분을 따로 나누게 되었다. 나중에 이 ..

개인 프로젝트 2025.02.08

색상 선택기 개인 프로젝트 (Dart, Flutter)

원래 다른 프로젝트를 하고 있었는데 탭바뷰가 어려워서 좀 쉬운 프로젝트로 탭바뷰를 연습하려고 시작했다. 버전 1과 버전 2를 탭바로 선택하여 고를 수 있다.두 버전 모두 기본 컬러는 하얀색으로 초기화했다. 버전 1은 컬러 피커를 사용하여 흔히 볼 수 있는 색상 선택기를 사용하여 해당 색상을 백그라운드 컬러로 바꾼다.현재 색상을 16진수로 출력하여 현재 색상을 편하게 사용할 수 있도록 했다.원래 RGBA를 따로 출력하려고 했으나 컬러 피커에 출력되는 부분이 있어 제외했다. 버전 2는 슬라이더를 이용하여 색상을 조합하는 방식이다.아이폰에 있는 앱을 따라하여 만들어봤다.해당 슬라이더를 움직이면 컬러의 색상을 조정하여 해당 색상을 백그라운드 컬러로 설정한다.그리고 RGBA 값을 조정하는 대로 출력하여 현재 색상..

개인 프로젝트 2025.01.30

계산기 개인 프로젝트 (Dart, Flutter)

프로젝트를 뭐라도 해봐야겠다 싶어서 무턱대고 시작한 프로젝트이다.원래 Java로 GUI 기능을 이용한 프로젝트를 해보려다가 Java Swing이나 Fx는 현직에서 잘 사용하지 않는다고 하여 저번에 책을 한 번 읽었었던 플러터를 이용해 모바일 앱를 만들어보기로 했다.사실 학교에서 배운 건 Kotlin이었는데 물론 코틀린도 좋은 언어지만 안드로이드에만 치중된 언어이기에 뭐라도 더 많이 되는 게 좋지 않나 싶어 Flutter 독학을 시작했다.그래서 Dart 언어도 잘 모르지만 만들면서 이거저거 찾아보면 어떻게든 될 것 같아서 시작했다.  계산기 구현 초반 계산기 구조만 구현했을 때.아이폰 기본 계산기를 토대로 기능과 버튼을 구현했다. Flexible 함수로 세 개의 Container를 1 : 1 : 5로 설정..

개인 프로젝트 2025.01.23

JAVA 프로그래머스 Lv.3 불량 사용자

https://school.programmers.co.kr/learn/courses/30/lessons/64064 문제입력으로 1차원 String 배열 user_id ( 1  8, 1  8 (i = 0~ user_id.length), user_id의 각 원소는 서로 중복되지 않음, 알파벳 소문자와 숫자로만 구성됨)과입력으로 1차원 String 배열 banned_id ( 1 user_id.length, 1  banned_id[i].length()  8 (i = 0~ user_id.length), 알파벳 소문자와 숫자와 '*'문자로 이루어짐, 각 아이디는 최소 한 개 이상의 '*'문자를 가짐, 같은 응모자 아이디가 중복해서 제재 아이디 목록에 들어갈 수 없음. ) 이 입력으로 들어옴.제재 아이디 목록들을 구..

JAVA 프로그래머스 Lv.3 베스트앨범

https://school.programmers.co.kr/learn/courses/30/lessons/42579 문제입력으로 1차원 문자열 배열 genres과 1차원 문자열 배열 plays ( 1 1  )이 입력으로 들어옴.장르 별로 가장 많이 재생된 노래를 두 개씩 모아 출력한다.노래는 고유 번호로 구분한다.노래를 수록하는 기준은 속한 노래가 많이 재생된 장르 먼저, 장르 내에서 많이 재생된 노래 먼저, 장르 내에서 재생 횟수가 탕을 시에는 고유 번호가 낮은 노래 먼저 수록한다.  초기 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.*;public cla..

카테고리 없음 2024.12.24

JAVA 프로그래머스 Lv.3 단어 변환

https://school.programmers.co.kr/learn/courses/30/lessons/43163 문제입력으로 시작 단어 문자열 begin과 target, 문자열 1차원 배열 변환 가능한 단어 리스트 words ( 3 3  begin.length(), target.length(),  words[i].length()  )이 입력으로 들어옴.각 단어는 알파벳 소문자로만 이루어져 있고, 모든 단어의 길이는 같다.문자열 배열 words에 있는 단어로만 단어를 바꿀 수 있고, 단어 변경시 한 번에 한 알파벳만 교체 가능하다.begin에서 target으로 단어를 변환할 때 최소 몇 단계의 과정을 거쳐야 답을 얻을 수 있는지 총 변환한 횟수를 retrun한다.변환이 불가능할 경우에는 0을 retur..