Algorithm
-
[ SWEA ] SW 문제해결 기본 - Stack 1Algorithm/SWEA Learn 2023. 3. 24. 11:04
하루입니다. 1차시 : Stack 자료구조의 개념Stack의 특성, Stack의 구현 2차시 : Stack의 응용괄호검사, Function call 3차시 : Memoization피보나치 수열, 피보나치 수를 구하는 재귀 함수, Memoization이란? 4차시 : DP(동적 계획법)DP 개념, DP를 적용한 피보나치 수 5차시 : DFS(깊이우선탐색)DFS 개념, DFS 알고리즘, DFS의 예 [ SWEA ] SW 문제해결 기본 - Stack 1 (1) 1차시. Stack 자료구조의 개념 1. stack의 특성 프로그램에서 중요성과 활용도가 매우 높은 자료구조이다. 자료를 쌓아 올린 형태의 자료구조이다. 선형구조이다. 선형구조란 ? 자료간의 관계가 1대1인 것이다. 배열, 연결리스트, 스택, 큐 .....
-
[ SWEA ] 1204. 1일차 - 최빈수 구하기.javaAlgorithm/SWEA Learn 2023. 3. 22. 16:44
하루입니다. https://swexpertacademy.com/main/learn/course/lectureProblemViewer.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 어느 고등학교에서 실시한 1000명의 수학 성적을 토대로 통계 자료를 만들려고 한다. 이때, 이 학교에서는 최빈수를 이용하여 학생들의 평균 수준을 짐작하는데, 여기서 최빈수는 특정 자료에서 가장 여러 번 나타나는 값을 의미한다. 다음과 같은 수 분포가 있으면, 10, 8, 7, 2, 2, 4, 8, 8, 8, 9, 5, 5, 3 최빈수는 8이 된다. 최빈수를 출력하는 프로그램을 작성하여라 (단, 최빈수가 여러 개 일 때에는 가장..
-
[ SWEA ] SW 문제해결 기본 - Array 2 (2차원 배열)Algorithm/SWEA Learn 2023. 3. 22. 11:07
하루입니다. 1. 2차원 배열 2차원 배열은 세로길이(행 갯수), 가로길이(열 갯수)를 필요로 한다. 1-1.Array 순회 Array가 n행 m열이라고 할 때, n*m 개의 모든 원소를 빠짐없이 조사하는 방법이다. 1. 행 우선 순회 : 행을 우선으로 배열의 원소를 조사한다. 이중반복문으로 구현한다. 2. 열 우선 순회 : 열을 우선으로 배열의 원소를 조사한다. 3. 지그재그 순회 : 첫 행은 우측으로, 다음 행은 좌측으로 진행하여 Array의 원소를 조사한다. 1-2. 델타를 이용한 2차 배열 탐색 2차 배열의 한 좌표에서 네 방향의 인접 배열 요소를 탐색할 때 사용한다. 델타란 ? 한 좌표에서 네 방향의 좌표와 x, y의 차이를 저장한 배열이다. 1-3. 전치행렬 행과 열의 값이 반대인 행렬이다. ..
-
SW 문제해결 기본 - StringAlgorithm/SWEA Learn 2023. 3. 21. 11:06
모든 내용은 https://swexpertacademy.com/main/learn/course/subjectDetail.do?courseId=AVuPDN86AAXw5UW6&subjectId=AV184ApaI7kCFAZN 에 저작권이 있습니다. 1. String 1) 문자 표현 메모리는 숫자만 저장할 수 있기에 각 문자에 대응되는 숫자를 정한 후 메모리에 저장하는 방법을 사용한다. 예를 들어, 000000은 'a'이다. 미국에서 네트워크가 발전하며 지역별로 상이한 코드체계로 인해 정보를 다르게 해석하게 되는 문제가 발생했다. 이를 해결하기 위해 ASCII(American Standard Code for Information Intercharge)라는 표준안을 사용했다. 아스키는 문자 인코딩의 표준이다. 7..
-
useDelimiter(), StringTokenizer(), split() 사용법과 차이점Algorithm 2023. 3. 20. 20:34
하루입니다. 문제를 풀다 문득 든 의문점. 1. 왜 useDelimiter에는 (.)이 아닌 (\\.)을 입력해야 하는 것이며 2. 다른 것들을 사용해도 \\.과 같은 구분자 형식을 사용해야 하는 것인가? 그래서 준비했다 빠밤 with chatGPT. 1. useDelimiter() 왜 .이 아닌 \\.을 사용해야 할까? useDelimiter는 구분자를 그대로의 문자열이 아닌 정규식으로 받아들이기 때문이다. util 패키지 특이점 : Scanner의 함수이기에 nextInt()를 통해 형변환 없이 int형으로 사용 가능하다. 3.4.5. 와 같이 뒤를 .으로 끝내야 함. 사용법 : sc.useDelimiter("구분자"); import java.util.*; import java.lang.*; publ..
-
useDelimiter StringTokenizer 차이점Algorithm 2023. 3. 20. 05:31
useDelimiter은 Scanner 클래스의 메서드이며, 주어진 문자열을 분리하는 데 사용할 구분자를 설정하는 데 사용됩니다. 이를 통해 Scanner 객체는 텍스트를 더 작은 부분으로 쪼갤 수 있으며, 이를 통해 텍스트 파일에서 다양한 유형의 데이터를 추출할 수 있습니다. 예를 들어, 공백을 구분자로 사용하여 문자열을 토큰으로 분리하려는 경우, 다음과 같이 useDelimiter를 사용할 수 있습니다. Scanner scanner = new Scanner("Hello World"); scanner.useDelimiter(" "); String token1 = scanner.next(); // "Hello" String token2 = scanner.next(); // "World" StringTok..
-
[ Algorithm ] 백준/Bronze/10699. 오늘 날짜Algorithm/문제 풀이 2023. 3. 17. 12:58
하루입니다. https://velog.io/@bang_rr/%EB%B0%B1%EC%A4%80-10699%EB%B2%88-%EC%98%A4%EB%8A%98-%EB%82%A0%EC%A7%9C 코테를 어떤 식으로 접근해야 하는지 깨 준 문제. 정확히는 위 링크를 보고 깨달음. 문제의 조건은 다음과 같다. - 서울의 오늘 날짜를 "YYYY-MM-DD" 형식으로 출력하는 프로그램을 작성하시오. 처음엔 YYYY-MM-DD에 꽃혀서 Date! Date! 이러고 있었다. 위의 링크를 참고하고 다시 문제를 읽어보니 1. 서울의 2. 오늘 날짜를 3. YYYY-MM-DD 형식으로 4. 출력해야 했다. 그렇다면 해야 할 일은 1. TimeZone("Asia/Seoul")을 사용하고, 2. Date를 사용해 오늘 날짜를 가져..