분류 전체보기335 [Firebase] Realtime Database & Firestore Realtime Database 데이터를 하나의 큰 JSON 트리로 저장 단순한 데이터 → 매우 쉽게 저장 복잡한 계층적 데이터 → 대규모로 정리하기 어려움 로컬에 저장하고 있다가 네트워크가 연결되면 저장했던 데이터를 동기화 시켜 오프라인 상태에서 데이터 유지 (Apple, Android) 클라이언트의 접속 상태 지원됨 제한적인 정렬 및 필터링 기능을 갖춘 깊은 쿼리 쿼리에서 속성을 정렬 또는 필터링할 수 있으나, 두 가지를 함께 진행하는 것은 불가 깊은 쿼리가 수행되어 항상 전체 하위 트리를 반환 불필요하게 큰 데이터까지 매번 가져와야 하기 때문에 매우 심각한 성능 저하 발생 가능성 O 확장을 하려면 DB를 여러 개로 나눠야 함(샤딩) 한 번에 많은 사용자와 데이터를 주고 받는 것이 가능하지만, 초당 .. 2023. 10. 10. [Git & Github] 기본 개념 및 기본 명령어 Git : 코드의 변경점을 기록하기 위해 사용하는 것. 버전 관리 도구 형상 관리 도구(= SW의 변경사항을 체계적으로 추적하고 통제하는 것) 특징 기능을 개발하면서 코드 변경점 기록 가능 문제 발생시 특정 지점으로 되돌아가기 쉬움 (BUT, 웬만하면 과거로 돌아가지는 X) Github : 백업과 공유가 가능한 온라인 코드 저장소 장점 온라인 저장소에 백업 가능 팀원들과 협업시 코드 공유 가능 협업 가능 리눅스 명령어 >> pwd print working directory의 약자 현재 내가 작업하는 폴더를 보여달라는 명령어 >> ls list의 약자 현재 위치의 모든 파일 및 리스트를 보여주는 명령어 >> ls -a - 는 앞의 명령어(ex; ls)의 추가 기능을 사용하고 싶을 때 붙임 a는 all의 약.. 2023. 10. 10. 231010 정수 내림차순으로 배치하기 - Level 1 문제 설명 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한사항 n은 1이상 8000000000 이하인 자연수입니다. 입출력 예 코드 import java.util.*; class Solution { public long solution(long n) { long answer = 0; char[] ch = String.valueOf(n).toCharArray(); StringBuilder sb = new StringBuilder(); Arrays.sort(ch); sb.append(ch).reverse(); answer = Long.parseLong(sb... 2023. 10. 10. [TIL] #26. 231009 어제 목표 & 오늘 완료한 한 일 알고리즘 문제 지브리 영화 사이트 팀 프로젝트 회의 내일 목표 알고리즘 문제 내배캠 Chap1 팀 프로젝트 팀원 코드 이해 깃&깃허브 강의 정리 Realtime & Firestore 차이 공부 느낀점 양의 정수를 구하는 부분에서 방법을 몰라 시간이 오래 걸리긴 했지만 괜찮은 코드를 작성한 것 같아서 다행이다. 그런데 다른 사람들의 코드를 보다보면 어떤 것이 좋은 코드이고 나쁜 코드인지 잘 모르겠다. 이전에는 그냥 좋아요를 많이 받은 풀이가 좋은 방법이라고 생각했는데 그것이 맞는지도 모르겠고 맞다고 하더라도 내가 직접 판단하고 싶다. 그래서 그런 것을 판별할 수 있는 능력을 기를 수 있도록 공부가 더 필요할 것 같은데 어떤 것이 맞는 공부 방법인지 잘 모르겠다. 2023. 10. 9. 231009 정수제곱근 판별 - Level 1 문제 설명 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요. 제한사항 n은 1이상, 50000000000000 이하인 양의 정수입니다. 입출력 예 입출력 설명 입출력 예#1 121은 양의 정수 11의 제곱이므로, (11+1)를 제곱한 144를 리턴합니다. 입출력 예#2 3은 양의 정수의 제곱이 아니므로, -1을 리턴합니다. 코드 import java.util.*; class Solution { public long solution(long n) { long answer = -1; if(Math.sqrt(n)%1 == 0) { answ.. 2023. 10. 9. 231009 문자열을 정수로 바꾸기 - Level 1 문제 설명 문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요. 제한사항 s의 길이는 1 이상 5이하입니다. s의 맨앞에는 부호(+, -)가 올 수 있습니다. s는 부호와 숫자로만 이루어져있습니다. s는 "0"으로 시작하지 않습니다. 입출력 예 예를들어 str이 "1234"이면 1234를 반환하고, "-1234"이면 -1234를 반환하면 됩니다. str은 부호(+,-)와 숫자로만 구성되어 있고, 잘못된 값이 입력되는 경우는 없습니다. 코드 class Solution { public int solution(String s) { int answer = Integer.parseInt(s); return answer; } } 2023. 10. 9. [WIL] #4. 231002~231008 이번주 목표 달성 여부 웹개발 A to Z 응용 끝내기 → △ (진행중) 요일별 공부 내용 월 - 알고리즘 문제 화 - 알고리즘 문제 - 내배캠 Chap1 프로젝트 (개인페이지 구현) 수 - 알고리즘 문제 - 내배캠 Chap1 프로젝트 (검색기능 구현, S.A. 작성) 목 - 알고리즘 문제 - 내배캠 Chap1 프로젝트 (검색기능 코드 수정, 목표 & 달성도 기능 구현) - 지브리 영화 사이트 구현 (리뷰 삭제) 금 - 알고리즘 문제 - 내배캠 Chap1 프로젝트 - 지브리 영화 사이트 구현 (리뷰 수정) 토 - 알고리즘 문제 일 - 알고리즘 문제 개선할 점 & 아쉬운 점 이번주내로 지브리 영화 사이트 구현을 완료하겠다는 목표를 달성하지 못한 것이 아쉽다. 원했던 것과 같은 모습으로 코드를 분리하지 못한.. 2023. 10. 9. [TIL] #25. 231008 어제 목표 & 오늘 완료한 한 일 알고리즘 문제 팀 프로젝트 회의 준비 내일 목표 알고리즘 문제 지브리 영화 사이트 팀 프로젝트 회의 느낀점 오늘 알고리즘은 문제는 HashMap을 이용해 풀었는데 다른 사람이 작성한 코드를 보니까 쉽게 갈 수 있는 길을 삥 돌아서 간 것 같다.. 근데 쉽게 가는 법을 생각을 못한 방법이었다. count가 0이면 참을 리턴하는 방법이라니.. count를 증가 감소 시켜서 구하는 방법은 정말 생각 못했는데 보고 놀랐다. 이제 다른 사람이 작성한 코드를 볼 때 기대가 된다. 연습 열심히 해서 나도 좋은 방법으로 문제를 풀고 싶다 2023. 10. 8. 231008 문자열 내 p와 y의 개수 - Level 1 문제 설명 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다. 예를 들어 s가 "pPoooyY"면 true를 return하고 "Pyy"라면 false를 return합니다. 제한사항 문자열 s의 길이 : 50 이하의 자연수 문자열 s는 알파벳으로만 이루어져 있습니다. 입출력 예 입출력 설명 입출력 예 #1 'p'의 개수 2개, 'y'의 개수 2개로 같으므로 true를 return 합니다.※ 공지 - 2021년 8월 23일 테스트케이스가 추가되었습니다.. 2023. 10. 8. 이전 1 ··· 25 26 27 28 29 30 31 ··· 38 다음