본문 바로가기

분류 전체보기335

[TIL] #44. 231027 어제 목표 & 오늘 완료한 한 일 알고리즘 문제 자바 종합 문법 복습 (3주차) 팀 프로젝트 내일 목표 알고리즘 문제 자바 종합 문법 복습 (3주차) 팀 프로젝트 발생한 문제와 해결 어제 커밋하고 push 한 내용이 깃허브에 반영되지 않고 git log를 해도 찾을 수 없는 문제가 발생했었다. 그러다가 어제 pull을 하기 전, stash에 임시저장을 해뒀던 것이 생각이 나 git stash apply 위와 같은 명령어를 통해 어제 작성한 코드를 가져올 수 있었다. 해당 명령어는 가장 최근에 stash한 것을 반영하는 것이다. 느낀점 오늘은 하루종일 팀 과제를 진행하게 되어, 알고리즘 문제를 풀지 못하였다. 하다보니 알았던 부분도 왜 이렇게 했었지? 라는 생각이 들고 혼란이 오는 것 같다. 그리고 저번주.. 2023. 10. 27.
[TIL] #43. 231026 어제 목표 & 오늘 완료한 한 일 알고리즘 문제자바 종합 문법 복습 (3주차)팀 프로젝트 내일 목표알고리즘 문제자바 종합 문법 복습 (3주차)팀 프로젝트 발생한 문제와 해결처음에는 알고리즘 문제를 아래와 같이 풀려고 했었다.def solution(arr): answer = arr for i in range(len(answer)-1): if answer[i] == answer[i+1]: del answer[i] return answer그런데 위와 같이 작성했더니 IndexError: list index out of range에러가 발생했다. 그 이유는 바로 answer가 삭제되면 answer의 길이가 달라져서 그런 것이었다. 그래서 만약 길이가 10이면 9부터 0까지 반복할 수 있도록 코드를 변경하였다. .. 2023. 10. 27.
231026 같은 숫자는 싫어 - Level 1 문제 설명배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면,arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다.arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다.배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution 함수를 완성해 주세요. 제한사항배열 arr의 크기 : 1,000,000 이하의 자연수배열 arr의 원소의 크기 : 0보다 크거나 같고 9보다.. 2023. 10. 26.
[TIL] #42. 231025 어제 목표 & 오늘 완료한 한 일 알고리즘 문제 자바 종합 문법 복습 (2주차) 팀 프로젝트 깃허브 특강2 정리 내일 목표 알고리즘 문제 자바 종합 문법 복습 (3주차) 팀 프로젝트 느낀점 사실 어제 짧은 파이썬 강의를 하나 들었는데, 거기서 temp를 사용하지 않아도 변수의 수들을 바꿔줄 수 있는 패킹, 언패킹이라는 것이 있다는 이야기를 들었다. 그래서 알고리즘 문제를 풀면서 그 개념이 딱 생각이 나 적용해 풀어볼 수 있었다. 풀다보면 자꾸 자바에서 사용하는 개념들을 쓰게 되는데, 그래서 너무 헷갈린다. 파이썬 공부를 해서 좀 더 익숙해져야겠다. 그리고 저번 학기에 캡스톤을 하면서 깃허브에서 브랜치도 만들고 하며 협업을 해봤었는데, 솔직히 그 때 했어도 깃허브를 다루면서 어렵다고 생각되는 부분이 많았다.. 2023. 10. 25.
[Java] 연산자 / 배열 / 컬렉션 연산자 연산자 종류 산술 연산자, 비교 연산자, 논리 연산자, 대입 연산자, 기타 연산 연산자 우선순위 : 산술 > 비교 > 논리 > 대입 괄호로 감싸준 연산은 최우선순위 비트 연산 : Bit의 자리수를 옮기는 것 연산중에 가장 빠름 (bit가 컴퓨터에서 가장 작은 단위이기 때문에) > (오른쪽으로 자리수 옮기기) 0, 1은 2진수 값이기 때문에, 왼쪽으로 옮긴 횟수만큼 2로 곱하는 것과 동일 오른쪽으로 옮긴 횟수만큼 2로 나누는 것과 동일 배열 배열 초기화 방법 3가지 중괄호를 사용해 초기화 // 특정값 대입해서 선언 int[] intArray = {1, 2, 3, 4, 5}; String[] stringArray = {"a", "b", "c", "d"};​ for문을 사용해 초기화 // 반복문을 통해.. 2023. 10. 25.
231025 최대공약수와 최소공배수 - Level 1 문제 설명 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다. 제한사항 두 수는 1이상 1000000이하의 자연수입니다. 입출력 예 입출력 예 설명 입출력 예 #1 위의 설명과 같습니다. 입출력 예 #2 자연수 2와 5의 최대공약수는 1, 최소공배수는 10이므로 [1, 10]을 리턴해야 합니다. 코드 def solution(n, m): answer = [] def lcm(n, m): return m*n / gcd(n, m) def gcd(n, m): .. 2023. 10. 25.
[Git & Github] 협업 하는 법 Branch : 기존 코드에 영향을 주지 않고 병렬적으로 작업할 수 있게 만들어주는 기능 브랜치 이름은 개발하려는 기능과 관련 있는 이름을 짓는 것이 좋음 (기능/해당기능이 하는 역할, ex; feature/signup) 기능 새로 만들 때마다 브랜치 생성하 브랜치 생성 명령어 git branch 브랜치 확인 명령어 git branch 브랜치 이동 명령어 git switch or git checkout checkout은 기존에 있던 명령어이고, switch는 새로 만들어진 것. 아무거나 써도 상관 X 브랜치 한 번에 생성 & 이동 git switch -c or git checkout -b Merge : 코드를 합치는 것 git merge 합치고자 하는 브랜치로 이동 후, 합칠 브랜치를 merge 명령어 .. 2023. 10. 25.
[TIL] #41. 231024 어제 목표 & 오늘 완료한 한 일 알고리즘 문제 자바 종합 문법 복습 (2주차) → 진행중 팀 프로젝트 회의 내일 목표 알고리즘 문제 자바 종합 문법 복습 (2주차) 팀 프로젝트 발생한 문제와 해결 def solution(arr1, arr2): answer = [[]] for i in range(len(arr1)): for j in range(len(arr1[i])): answer[i][j] = arr1[i][j] + arr2[i][j] return answer 이와 같이 코드를 작성했는데 아래와 같은 에러가 발생했다. IndexError: list assignment index out of range 해당 에러는 빈 인덱스를 지정했을 때 발생하는 것이라고 한다. (https://wantoknowtote.. 2023. 10. 24.
231024 행렬의 덧셈 - Level 1 문제 설명 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요. 제한사항 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다. 입출력 예 코드 def solution(arr1, arr2): answer = [[0 for j in range(len(arr1[i]))] for i in range(len(arr1))] for i in range(len(arr1)): for j in range(len(arr1[i])): answer[i][j] = arr1[i][j] + arr2[i][j] return answer 풀이 [[0 for j .. 2023. 10. 24.