전체 글(189)
-
[ 파이 ∞ 조각을 가질거야 ] - 알고리즘 스터디
시작한지 백만년 됐는데... 이제서야 올려버리기...호호 2023 SUAPC WINTER 대회 참가 목적으로 모였다가 대회에서 먼지 날리게 탈탈 털리고... 멘탈도 탈탈 털리고... 근데 또 화르륵 불 붙어서 다음 대회 때는 다 씹어 먹..지는 못해도 이번보다는 더 많이 풀고 다다음에는 더더 많이 풀자는 마음으로 알고리즘 스터디를 결성했다! 스터디 이름인 파이 한 조각은 스터디원인 은채, 세은이, 나 셋 다 파이썬을 써서 파이 어쩌구저쩌구 하다가... 짜잔 파이 한 조각이 됐다! 열심히 해서 파이 ∞ 조각으로 가자~~ 같이 공부할 책은 이걸로 정했다! 대략적인 목차는 1. 기초 개념 ( 정의, 시간 복잡도, 디버깅 ) 2. 알고리즘 - 기본편 ( 자료구조, 정렬, 탐색, 그리디, 정수론 ) 3. 알고리즘..
2023.05.16 -
EC.CREW 4기 4회차
중간고사 시작 전 마지막 정모...!! 공부하기 싫다..... 히히힣히ㅣㅎ 파이팅 . . . 까지 쓰고 중간 끝나고 올려버리기... # 1 평균은 넘겠지 - 백준 4344번 https://www.acmicpc.net/problem/4344 4344번: 평균은 넘겠지 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. www.acmicpc.net import java.util.Scanner; class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); for (int i = 0; i
2023.05.09 -
EC.CREW 4기 3회차
# 1 크로아티아 알파벳 - 백준 2941번 https://www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net import java.util.Scanner; class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String word = scanner.next(); int wordL = word.length()..
2023.03.28 -
EC.CREW 4기 2회차
허허 이번 학기도 EC.CREW랑 함께... 1주차에는 간단하게 OT를 들었구 ( 갈수록 OT가 화려해진다 므찌다..!! ) 2주차 때는 앞으로 활동 계획을 스터디원들이랑 세웠다! 3주차부터는 예전처럼 문제를 들고와서 푸는 걸 했는데 1~3기와 다른 점은 JAVA를 시작했다는 것... 다시 초심으로 돌아와서 브론즈 문제를 꼼지락거리며 풀어봤다 # 1 합 - 백준 8393번 https://www.acmicpc.net/problem/8393 8393번: 합 n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오. www.acmicpc.net import java.util.Scanner; class Main { public static void main(String[] args) { Scanner..
2023.03.27 -
[ 기수 정렬 ] 알고리즘
1. 개념 기수 정렬 : 기수 정렬은 숫자의 특정 자릿수만 비교하는 정렬인데 일의 자릿수부터 차례대로 하나씩 비교한다 * 시간 복잡도 : O(kn) 기수 정렬 방법 1 ) 0 ~ 9를 상징하는 10개의 큐를 사용한다 2 ) 데이터를 특정 자릿수의 숫자를 기준으로 큐에 넣는다 3 ) 일의 자릿수부터 마지막 자릿수까지 차례대로 반복하면 된다 2. 문제 풀이 # 1 수 정렬하기 - 백준 10989번 https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net from collect..
2023.03.19 -
[ 병합 정렬 ] 알고리즘
1. 개념 병합 정렬 : 분할되어 있는 데이터 배열을 하나로 합치면서 정렬하는 것 * 시간 복잡도 : O(nlogn) 병합 정렬 방법 - 1 ) 데이터 배열을 분할하고 2 ) 다시 병합하면서 정렬하는 것 - 초기 설정 데이터를 하나씩 분할해준다 - 재귀함수 이용 각각의 데이터 배열 요소의 개수 한 개가 될 때까지 데이터 배열을 반으로 쪼개준다 재귀함수의 종료 조건 : 데이터 배열의 요소의 개수가 한 개가 될 때 - 병합 정렬 과정 : 근접한 데이터와 병합하면서 정렬해준다 재귀함수가 종료 조건을 만족한 후, 재귀함수 호출 코드 뒤에 있던 배열 병합 코드가 수행된다 근접한 데이터 배열과 병합해준다 ( 1 ) 각 데이터 배열의 첫번째 데이터를 포인터로 가르킨다 ( 2 ) 포인터로 지정된 데이터끼리 비교해준다 ..
2023.03.19