본문 바로가기

활동정리/알고리즘 특강 (중급)4

알고리즘 특강 3일차 : 백트래킹 k개 중에 n개의 수 뽑기 k개 중에 2개를 뽑는 경우의 수를 고르면 for(int i = 0;i 2023. 7. 31.
알고리즘 특강 2일차 : Simulation simulation이란? : 문제가 시키는 규칙을 원하는 대로 그대로 실현하는 것 완전탐색 모든 경우의 수를 탐색하는 방법(ex : 자물쇠의 비밀번호를 알기 위해 000 부터 999까지 다 해본다.) 문제를 풀 수 있는 가장 확실한 방법. 시간이 오래걸린다는 단점이 있다. import java.io.*; import java.util.*; import java.math.*; public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLi.. 2023. 7. 25.
알고리즘 특강 1일차 : dx, dy 테크닉 dx,dy 테크닉은 좌표를 상하좌우로 움직이는 알고리즘을 풀 때 주로 사용하는 방법이다. 사실 이 방식은 문제를 풀고 다른 사람 코드랑 비교하는 과정에서 많이 보았는데, 그냥 편해서 사용하는줄만 알았던 코드가 하나의 알고리즘 개념이었다니 신기했고, 앞으로는 이 방법을 적극적으로 이용해야겠다는 생각이 들었다! 0이 입력되면 동쪽으로, 1이 입력되면 남쪽으로, 2가 입력되면 서쪽으로 , 3이 주어지면 북쪽으로 가는 코드를 짜려고 한다. int nowNum = 0; int x = 1; int y = 1; if(nowNum == 0){ x++; } else if(nowNum = 1){ y--; } else if(nowNum = 2){ x--; } else if(nowNum =3){ y++; } 이러한 방식으로 .. 2023. 7. 24.
오리엔테이션 : 시간복잡도 계산 시간복잡도 : 내 프로그램이 수행하는 연산의 수를 수식으로 나타낸 것 보통 빅오(O) 표기법을 사용하는데 이는 최악의 경우를 기준으로 계산한다. for문 int ex(n){ int x = 0; for(int i = 0;i 2023. 7. 20.