본문 바로가기

전체 글89

[Git] 원격 저장소(깃허브) 커밋 되돌리기 원격 저장소에 push하기 전 로컬 저장소에서 커밋을 되돌리고 싶은 경우에는 간단히 아래의 명령어로 돌아갈 수 있다. git reset {commit_id} 하지만, 이미 원격저장소(깃허브)에 push한 경우에는 로컬에서 커밋을 되돌린 후 강제로 깃허브에 push 해야한다. 1. 로컬에서 되돌아가고 싶은 커밋으로 이동 git reset {commit_id} # commit_id로 돌아감 git reset --hard HEAD^ # 바로 이전 커밋으로 돌아감 2. 되돌아가고 싶은 커밋으로 이동 후 원격 저장소에 강제 push git push -f origin main #git push -f {원격저장소별칭} {원격저장소브랜치} 참조: https://computer-science-student.tistory.. 2023. 2. 4.
[java] 문장 속 단어 설명 한 개의 문장이 주어지면 그 문장 속에서 가장 긴 단어를 출력하는 프로그램을 작성하세요. 문장속의 각 단어는 공백으로 구분됩니다. 입력 첫 줄에 길이가 100을 넘지 않는 한 개의 문장이 주어집니다. 문장은 영어 알파벳으로만 구성되어 있습니다. 출력 첫 줄에 가장 긴 단어를 출력한다. 가장 길이가 긴 단어가 여러개일 경우 문장속에서 가장 앞쪽에 위치한 단어를 답으로 합니다. 예시 입력 1 it is time to study 예시 출력 1 study package inflearn; import java.util.Scanner; public class Str3 { public static void main(String[] args) { Scanner scanner = new Scanner(System... 2023. 2. 4.
[java] next(), nextLine() 차이점 한 개의 문장을 입력 받아 그 속에 가장 긴 단어를 출력하는 코딩테스트 문제를 풀던 중 알고리즘 적으론 문제가 없는데 계속해서 제출하면 오류가 났다. 그 오류의 원인은 문장을 Scanner로 입력받는 곳이었다. 바로, Scanner의 입력을 next()로 받아서 발생한 문제였다. nextLine()으로 고치니깐 문제는 바로 해결되었다. 항상 헷갈리던 이론이라 이 김에 확실하게 정리하고 넘어가려 한다. next(), nextLine() 공통점 String 타입으로 반환한다. Scanner 클래스의 메소드 next(), nextLine() 차이점 nextLine()은 Enter(개행문자)를 치기 전까지 쓴 문자열을 모두 반환한다. 한 줄 단위로 입력을 받기에 \n도 포함한다. 분리자 개행문자 \n이 버퍼에 .. 2023. 2. 3.
[졸업작품] spring boot로 작업한 뭉키를 다시 돌아보며 (1) 선배가 작성한 pull request 받은 부분을 다시 확인하며 내가 프로젝트 과정에서 놓친 부분들을 다시 돌아보기로 하였다. 1. Iterator를 사용하여 비효율적으로 반복하는 부분을 stream으로 개선 일단 stream이란 java 8부터 추가된 컬렉션, 배열의 저장 요소를 하나씩 참조하여 람다식(함수 스타일)으로 처리할 수 있도록 도와주는 반복자이다. java 7까지는 Iterator 반복자를 통해 컬렉션 요소를 순차적으로 처리하였다. stream을 통해 컬렉션 요소를 순차적으로 처리함으로써 람다식으로 요소 처리 코드를 제공, 내부 반복자를 사용함에따라 병렬 처리가 쉬움, 중간처리와 최종처리의 파이프라인 작업을 수행한다는 장점을 얻을 수 있다. Stream API의 특징 - 원본 데이터를 변경X.. 2023. 2. 2.
[인프런] 스프링부트 개념정리(이론) - 1 해당 내용은 https://inf.run/xFxo 를 참고하여 작성되었습니다. 2편은 velog에 정리 했습니다. https://velog.io/@pnk7038/Inflearn%EC%9D%B8%ED%94%84%EB%9F%B0-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8-%EA%B0%9C%EB%85%90%EC%A0%95%EB%A6%AC%EC%9D%B4%EB%A1%A0- [Inflearn|인프런] 스프링부트 개념정리(이론) - 2 1편은 https://bestsu.tistory.com/m/60왜 벨로그에 쓰냐구..? 티스토리 복구가 아직도 안됐거든 😉 쓰다보니 벨로그가 더 좋은 것 같기도 .. ?톰캣을 설치할 필요없이 바로 실행이 가능하다.운영체제가 velog.io 스프.. 2022. 10. 5.
[java] 코딩테스트 문법 정리 Long 타입 to int 타입=> intValue 메서드 사용 Long x = 11L; int i = x.intValue(); substring 메소드 : 문자열에서 원하는 부분을 추출 할 때 사용 기본구조 문자열.substring(문자열 시작 번호, 문자열 끝낼 번호) 단, 끝나는 범위의 수는 포함되지 않는다. 즉 1번째에서 3번째까지 읽어들이고 싶다면 substring(1,4)로 해줘야 3번째까지 읽어들임. String str = "abcd"; System.out.println(str.substring(1,2)); // 결과: bc * 그 외에 문자열을 다루는 java 메서드 charAt, indexOf 참고: http://www.dreamy.pe.kr/zbxe/CodeClip/3766960 JAV.. 2022. 8. 31.
[프로그래머스|최대공약수와 최소공배수] 유클리드 호제법 본인 풀이 class Solution { public int[] solution(int n, int m) { int[] answer = new int[2]; answer[0] = getGCD(n,m); answer[1] = (n * m) / (answer[0]); return answer; } public static int getGCD(int n, int m){ if(n % m == 0){ return m; } return getGCD(m,(n%m)); } } 풀이법 유클리드 호제법 2개 수의 최대 공약수를 구하는 알고리즘 자연수 a, b에 대해서 a%b의 결과를 r이라고 한다면 a, b의 최대공약수와 b, r의 최대공약수는 같다. 이 성질을 이용하여 a, b를 나눈 나머지 r을 구하고 b, r을 나눈.. 2022. 8. 31.
[프로그래머스|숫자 문자열과 영단어] replaceAll 함수 나의 해설 import java.util.*; class Solution { public int solution(String s) { int answer = 0; String[] words = {"zero","one","two","three","four","five","six","seven","eight","nine"}; int[] integers = {0,1,2,3,4,5,6,7,8,9}; StringBuffer sb = new StringBuffer(); ArrayList temp = new ArrayList(); // answer로 바꿀 list String[] s_array = s.split(""); for(String string : s_array){ try{ int k = Integer.par.. 2022. 8. 29.
[Linux] Ubuntu MongoDB 설치 Mongo DB란? 웹 애플리케이션과 인터넷 기반을 위해 설계된 데이터베이스 관리 시스템이다. 데이터 모델과 지속성 전략을 높은 읽기와 쓰기 효율, 자동 장애조치(Failover)를 통한 확장의 용이성을 염두에 두었다. 기존의 테이블 기반 관계형 데이터베이스(RDBS) 구조가 아닌 문서 지향 데이터 모델을 사용하는교차 플랫폼 오픈 소스 데이터베이스이다. 비필수 스키마(스키마가 없다는 것)와 함께 JSON(Key-Value 데이터 구조)와 같은 문서를 사용하여 대량의 데이터를 저장하는 NoSQL(비관계형) 데이터 베이스이다. NoSQL은 초고용량 데이터 처리 등 성능에 특화된 목적을 위해 비 관계형 데이터 저장소에 비 구조적인 데이터를 저장하기 위한 분산저장 시스템이다. 이를 통해 유연한 데이터 저장 모델.. 2022. 8. 24.