https://www.acmicpc.net/problem/2557문제는 단순히 출력을 할 줄 아는가를 물어본다. 따라서 자바의 출력 방법인 System.out.println("Hello World!"); 을 사용했다.print("Hello World!"); 또
https://www.acmicpc.net/problem/1000임의의 정수를 입력하기 위해서 Scanner 클래스를 import했다.객체 생성 후 1~9까지의 정수 범위이기 때문에 nextInt를 사용했다.
https://www.acmicpc.net/problem/1001두 정수를 입력해야하기 때문에 Scanner 클래스를 사용해야한다.
문제 https://www.acmicpc.net/problem/10998 풀이 (A + B)
https://www.acmicpc.net/problem/1008원래 입력 값이 정수인 경우 정수의 형태로 결과가 나오지만 요구하는 출력값은 실수이므로 입력값은 정수, 출력값은 실수로 형변환시켜줘야 한다.A 와 B 를 각각 double로 주는 경우가 있다.
https://www.acmicpc.net/problem/10869두 자연수를 입력해야 하므로 Scanner클래스를 사용한다.출력될 때 줄 바꿈이 일어남으로 println을 사용한다.
https://www.acmicpc.net/problem/10926입력해줘야 하는 것이 문자임으로 String을 사용해야한다. 따라서 Scanner클래스를 사용한 경우 next 또는 nextLine을 사용해야한다.next와 nextLine 의 차이점next는
https://www.acmicpc.net/problem/18108태국 태양력으로 사용하는 불기는 서기 연도 + 543년이다.
https://www.acmicpc.net/problem/10430a,b,c를 입력받아 줄 마다 출력한다.
https://www.acmicpc.net/problem/2588두 수를 입력받은 후 각 자릿수의 곱을 출력한다.1의 자릿수는 10으로 나눈 나머지이다.10의 자릿수는 100으로 나눈 나머지 값을 10으로 나눈 수이다.100의 자릿수는 100으로 나눈 수이다.
문제https://www.acmicpc.net/problem/11382풀이a,b,c의 값을 입력 후 더한 값을 출력한다.a,b,c의 범위는 10^12까지로 int 범위를 넘어서기 때문에 long을 써준다.코드
https://www.acmicpc.net/problem/10171이스케이프 시퀀스라고 " " 사이에 ' , " , \\ 를 출력하기 위해서 \\를 붙여준다.
1. 문제 https://www.acmicpc.net/problem/10172 2. 풀이 이스케 3. 코드
문제https://www.acmicpc.net/step/4풀이if else 문 사용코드
https://www.acmicpc.net/problem/9498 if else문을 사용한다.if - else 문 사용
https://www.acmicpc.net/problem/2753if else 문 사용
https://www.acmicpc.net/submit/14681/62617860업로드중..if else 문 사용
https://www.acmicpc.net/problem/288445분 미만이면 1시간 전으로 넘어가고 15분을 더합니다.(45분을 뺄 수 없으니 60분을 가져옵니다.)시간이 0시일때에서 45분을 빼면 23시로 넘어갑니다.
https://www.acmicpc.net/problem/252560분 = 1시간이기 때문에 시간은 몫으로 분은 나머지로 구한다.
https://www.acmicpc.net/problem/2480if-else 문 사용가장 큰 값은 Math.max(a,b)사용
https://www.acmicpc.net/problem/2739for반복을 통해 반복될 것은 1~9임으로 i의 범위를 1부터 9로 설정
1.문제https://www.acmicpc.net/problem/109502.풀이for반복을 할 것은 a+b이고 a와b는 반복동안 값을 입력해야한다.반복 조건은 테스트 케이스 만큼이다.3.코드
1.문제https://www.acmicpc.net/problem/83932.풀이n만큼 반복하며 더한다.sum값은 초기화를 해줘야한다.n까지의 합이므로 <=로 범위 설정을 해줘야한다.3.코드
https://www.acmicpc.net/problem/25304물건의 종류만큼 반복한다.총금액과 반복한 물건의 금액수를 비교하기 위해 sum을 추가하고 초기화한다.물건의 종류를 반복할 때 갯수와 가격을 나타내기 때문에 반복문안에 있어야 하며 이들의 합을 추
https://www.acmicpc.net/submit/25314n은 4의 배수이고 n/4만큼 long 단어가 반복한다.
https://www.acmicpc.net/problem/15552scanner을 사용하면 시간초과가 나오므로 BufferedReader을 사용해야한다.
https://www.acmicpc.net/problem/11021case 뒤에 수는 testcase로 반복하는 값과 동일하다.
https://www.acmicpc.net/problem/11022백준 11021번과 동일하다.
https://www.acmicpc.net/problem/2438이중for문 사용
1.문제 https://www.acmicpc.net/problem/2439 2.풀이 2중 for문 사용 3.코드
https://www.acmicpc.net/problem/10952 0 0 이 입력되기 전까지 무한히 반복함으로 while(true)로 반복하고 조건문으로 break한다.
https://www.acmicpc.net/problem/10951EOF 를 사용해야한다.https://st-lab.tistory.com/40 를 참고하였다.
https://www.acmicpc.net/problem/10807n개의 크기의 배열을 만들고 배열의 크기만큼 반복하여 값을 할당한다.만약 배열값이 v와 같다면 cnt값이 증가하도록 한다.
https://www.acmicpc.net/problem/10871n크기의 배열의 반복문을 돌려 값을 할당한 후 조건문을 이용해 x보다 작은 수만 출력되도록 한다.
https://www.acmicpc.net/problem/10818Arrays.sort로 배열을 크기 순으로 정렬 후 배열의 첫번째와 마지막을 출력한다.(scanner을 사용하면 너무 느리다.)
https://www.acmicpc.net/problem/2562반복문 안에서 max값과 배열값을 비교하고 max값을 설정한다.max값이 설정되었을 경우 해당 max값의 자리는 반복문 안에서의 배열은 0부터임으로 i+1이다.
https://www.acmicpc.net/problem/10813
https://www.acmicpc.net/problem/10813배열 안에 수를 바꿀 땐 임시의 변수를 생성한 후 반복문 안에서 주소를 준다.arra = arrb가 아닌temp = arraarra = arrbarrb = temp로 사용해야한다.
https://www.acmicpc.net/problem/5597숙제를 한 학생은 28명임으로 28번만 반복을 돌려 수를 입력받는다.28번의 수를 각각 배열 주소로 놓고 해당 값을 1로 놓는다.새로운 반복문에서 30까지 반복하여 0인 수를 찾는다.4.후기처음에
https://www.acmicpc.net/problem/3052배열 값을 42로 나눈 나머지를 배열 안에 저장한다.for문을 이중으로 사용하여 배열을 i와 j를 통해 그 다음 값이 같은 지 확인한다.그 후 배열 갯수를 더하고 출력한다.배열의 크기 비교까지는
https://www.acmicpc.net/problem/10811배열 안의 수 중 i부터 j까지 수를 역순으로 해야하기 때문에 이중 for문을 사용하고 내부에 for 문은 i부터 j까지로 범위를 설정한다.역순으로 배열해야하므로 j는 감소하고 i는 증가시킨다.
https://www.acmicpc.net/problem/1546배열을 2개 만들어서 진짜 점수를 입력 후 가짜 점수를 새로운 배열에 넣고 평균을 구한다.
https://www.acmicpc.net/problem/27866charAt()을 사용하여 해당 숫자 번째의 char를 추출한다.
https://www.acmicpc.net/problem/2743string.length();를 사용한다.
https://www.acmicpc.net/problem/9086문자열을 쪼개 배열에 저장해서 처음과 끝을 출력하였다.
https://www.acmicpc.net/problem/11654s.charAt을 이용하여 출력한 문자를 int를 사용해서 정수로 변환시킨다.
https://www.acmicpc.net/problem/11720문자열로 입력을 받은 뒤 charAt을 사용하여 각각 문자로 만든다.각각의 문자를 정수화 시키기 위해서 Integer.valueOf를 사용했다.문자를 정수로 치환할때는 아스키코드값이라 기준 값을
https://www.acmicpc.net/problem/10809indexof를 사용한다. (문자열에서 해당 위치에 있다면 순서를 없다면 -1을 반환한다.)반복문 안에서 int i = ~ 으로만 대부분 써와서 char로 시작을 처음해봤다.
https://www.acmicpc.net/problem/2675.repeat을 사용해서 반복한다.
https://www.acmicpc.net/problem/1152StringToknenizer을 사용해서 " "을 기준으로 토큰화시켰다.처음에 split과 trim을 사용하였다. 근데 공백만 있는 경우를 값으로 취급하고 해결 방법을 구현하지 못해서 https&
https://www.acmicpc.net/problem/2908문자열을 뒤집을 수 있는 reverse를 사용하고 싶었다. 그래서 StringBuilder 객체를 생성했다.단순히 append로 추가만 하다보니 값을 초기화 해주기 위해 setLength(0)을
https://www.acmicpc.net/problem/5622s.charAt으로 각각 단어를 쪼개고 각각 값을 조건에 맞게 주었다.
https://www.acmicpc.net/problem/11718반복문 당시 EOF에 관한 문제 풀이와 유사하다.
https://www.acmicpc.net/problem/25083
https://www.acmicpc.net/problem/3003같은 수면 0을 다른 수면 뺀 값을 출력하도록 조건문을 사용하였다.
https://www.acmicpc.net/problem/10988reverse를 사용해서 같은지 비교한다.
https://www.acmicpc.net/problem/1157toLowerCase로 전부 소문자로 바꿔줬다.문자열을 쪼개서 각각 어떤 단어를 사용했는지 알아봐야하기 때문에 문자열 길이만큼 반복문을 돌린다.alpha배열 안에 같은 단어면 증가하도록 설정했다.
https://www.acmicpc.net/problem/2941replace를 사용한 후 바뀐 문자열을 split으로 쪼개 배열로 만든 후 길이를 출력한다.
https://www.acmicpc.net/problem/25206equals로 조건에 맞는 문자가 나올 경우 해당하는 값을 곱한다.
https://www.acmicpc.net/problem/2444
https://www.acmicpc.net/problem/1316전혀 감이 오지 않았던 문제..https://st-lab.tistory.com/69 님과https://dawning-record.tistory.com/32 님을 참고하였다.
https://www.acmicpc.net/problem/2738다차원 배열은 이중for문을 사용한다.
https://www.acmicpc.net/problem/25669 \* 9 배열에 최댓값을 찾는 것이므로 max값을 찾는 조건문을 준다.max값과 배열 안에 값이 같다면 해당하는 i j 값을 출력하도록 반복문 밖에 변수선언을 했다.
https://www.acmicpc.net/problem/10798i는 세로 j는 가로 반복을 나타내기때문에 i 와j 의 반복 위치를 바꿔준다.배열은 0이 들어가기 때문에 0이 아닌 수만 출력하도록 했다.
https://www.acmicpc.net/problem/2745https://velog.io/@gayeong39/%EB%B0%B1%EC%A4%80-2745-%EC%A7%84%EB%B2%95-%EB%B3%80%ED%99%98JAVA 님의 글을 참고하였
https://www.acmicpc.net/problem/29031을 입력시 3의 제곱2를 입력시 5의 제곱5를 입력시 33의 제곱이 나온다.2의 1승은 2, 2의 2승은 4, 2의 5승은 32로 1씩 작은 수이므로 제곱 수 + 1을 한다.
https://www.acmicpc.net/problem/2292벌집에서 처음에는 1, 2~7,8~19...로 6 12 18..이렇게 6의 배수로 증가하므로 num = num + (cnt \* 6) 으로 주었다.1부터 시작해서 경로를 찾아가기 때문에 1도 경로
https://www.acmicpc.net/problem/5086
https://www.acmicpc.net/problem/2501배열리스트를 사용해 약수인 경우만 우선적으로 리스트에 저장 후 리스트에 저장된 값들만 배열에 저장 후 k값과 비교했다.
https://www.acmicpc.net/problem/9506배열리스트에 약수인 경우만 저장 후 약수 당시 나눈 값을 더한다.
https://www.acmicpc.net/problem/1978n까지 반복하며 소수를 판별한다.소수란 1과 자기자신만을 포함하기 때문에 2부터 자기자신까지 반복한다.자기자신까지 반복문 j 가 왔다는 건 같은 수가 없었다는 것이기에 소수이고 아닌 경우는 해당
https://www.acmicpc.net/problem/2581소수인 경우 배열리스트에 더한다.배열리스트에 내용을 배열에 옮긴다.배열 합을 구한다.
https://www.acmicpc.net/problem/11653값이 0이 될때까지 반복문을 돌린다.나눠지면 나누고 나눠지지 않으면 i값을 증가시켜서 나눠본다.
https://www.acmicpc.net/problem/2775https://st-lab.tistory.com/78님을 참고하였다. 코드를 이해하기 위해 주석을 달면서 다시 풀었다.
https://www.acmicpc.net/problem/11656!\[](https://velog.velcdn.com/images/qwerty7878/post/2c0bb568-1a9c-49d3-a4dc-d55fe0d9aaa7/image.png)문자열
https://www.acmicpc.net/problem/28702문자열이 숫자인지를 구분해야 풀 수 있는 문제로 정규표현식을 사용해야 했으며 https://djun95.tistory.com/16 님을 참고했다.
https://www.acmicpc.net/problem/15829
https://www.acmicpc.net/problem/1018https://comain.tistory.com/192 님을 참고했다.8줄의 w로 시작하는 판과 b로 시작하는 판을 만들고 입력해야할 문제예제와 비교하는 형식의 풀이법이다. 8 8은 고
https://www.acmicpc.net/problem/1966나름대로 주석을 달면서 풀어봤지만 너무 어려워서 https://st-lab.tistory.com/201 님을 참고했다.
https://www.acmicpc.net/problem/2869처음엔 올라가기만 하기 때문에 올라가는 거리만큼을 전체 거리해서 뺸 값을 올라가고 미끄러진 값의 차이만큼 나눈다.만약 나눈 값이 소수가 된다면 올림을 사용한다. 올림을 사용하기 위해 Math.ce
https://www.acmicpc.net/problem/1654!\[](https://velog.velcdn.com/images/qwerty7878/post/390a4e38-19bf-4105-b852-e8c03faf910a/image.png)이분탐색
https://www.acmicpc.net/problem/2805랜선자르기 문제랑 상당히 유사하다 이분탐색을 사용 후 나무가 일정 높이 이상인 경우 자른다는 조건문을 사용해 문제를 풀었다.
https://www.acmicpc.net/problem/11723업로드중..집합일때는 set을 사용한다.hashset은 중복을 허용하지 않기 때문에 add와 remove에서 있다면에 대한 조건은 구현할 필요가 없다.
https://www.acmicpc.net/problem/11047업로드중..오름차순으로 배열에 저장 후 저장 후 역순으로 k원을 나눠 동전 갯수를 구한다
https://www.acmicpc.net/problem/11399오름차순의 경우가 가장 최적의 경우이기 때문에 배열에 저장 후 오름차순으로 Arrays.sort를 한다.본인의 순서가 올때까지의 소요시간을 구해야하기 때문에 이중 반복문을 통해 i번째 까지 합을
https://www.acmicpc.net/problem/17219업로드중..hashmap을 사용했다.
https://www.acmicpc.net/problem/1003dp로 풀어 초기값 0일때와 1일때를 설정 후 2부터 n 까지 반복문을 돌린다.시간초과가 나왔다.
https://www.acmicpc.net/problem/2579
https://www.acmicpc.net/problem/2606dfs는 깊이 우선 탐색으로 한 곳의 끝 점을 찍고 다른 곳으로 가는 몰아보기 같은 느낌이고bfs는 너비 우선 탐색으로 가까운 곳부터 퍼져나가는 형식의 알고리즘이다bfs dfs 문제는 처음이라 어
https://www.acmicpc.net/submit/11727/81385278처음에 규칙성을 찾기 위해 그려보는 와중에 문제를 잘못 이해해 가로의 경우 뿐 아니라 세로의 경우도 포함해야한다 생각해 \* 2를 해서 오래걸렸던 문제다.2 2 일때는 3개2
https://www.acmicpc.net/problem/9461삼각형이 6번째 일 경우 첫번째와 다섯번째를 더했을 경우에 값이 나오는데 확인차 7번째와 8번쨰도 확인해보면 2 + 6 과 3 + 7일때 같은 값이 나오는 걸 알 수 있다.따라서 규칙 dpn =
https://www.acmicpc.net/problem/1260bfs 와 dfs 는 저번 바이러스 문제를 풀 때 알고리즘을 이해해서 풀기 쉬웠다.
https://www.acmicpc.net/problem/1927https://velog.io/@syong_e/%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0-%EC%B5%9C%EC%86%8C%ED%9E%99-%EC%B5%9C%EB%
https://www.acmicpc.net/problem/11279우선 순위 큐를 사용 ( 최소 힙 구현 ) + Collections.reverseOrder() 로 역순으로 저장
https://www.acmicpc.net/problem/1541
https://www.acmicpc.net/problem/1026📚그리드 알고리즘, 정렬최소값을 구하기 위해 두 배열을 오름차순과 내림차순으로 구해서 더한다.Arrays.sort(b, Collections.reverseOrder()); // 내림차순
islower과 isupper을 사용해 대소문자를 확인 후 upper과 lower을 통해 변환한다.📚 swapcase() 대소문자를 상호 변환해주는 함수
https://school.programmers.co.kr/learn/courses/30/lessons/120851처음엔 전부 대문자나 소문자로 변경 후 replace를 사용해 숫자만 남긴 후 반복문을 통해 덧셈을 구하려고 생각했다. 그러나 생각보다 쓸모없이
https://school.programmers.co.kr/learn/courses/30/lessons/120899?language=python3max() 를 통해 최대값을 찾은 후 index()를 사용해 인덱스 값을 구한다.📚 index() 는 없으면 에러
https://school.programmers.co.kr/learn/courses/30/lessons/120905?language=python3반복문 안에서 n으로 나눠서 나머지가 0 인 수만 저장하도록 한다.
https://school.programmers.co.kr/learn/courses/30/lessons/120823?language=python3흔한 별찍기이다.4\. 다른 사람 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/120897?language=python3n을 나눴을때 나머지가 0인 수를 배열에 저장한다.
https://school.programmers.co.kr/learn/courses/30/lessons/120908?language=python3만약 str1에 str2가 포함한다면 1을 출력해야하므로 if str2 in str1 을 사용한다.
https://school.programmers.co.kr/learn/courses/30/lessons/120892?language=python3code 길이만큼 떨어진 곳 부터 전체 길이까지 반복문을 돌린 후 code가 나눠지는 경우에 해당하는 문자만 문자열
https://school.programmers.co.kr/learn/courses/30/lessons/120816?language=python3나누어 떨어지는 경우는 각자 정해진 갯수만큼 먹은 경우지만 나누어 떨어지지 않는 경우는 부족하게 먹은 것이므로 피자
https://school.programmers.co.kr/learn/courses/30/lessons/120909?language=python3제곱근 값을 정수로 바꾼 후 제곱수라면 다시 제곱했을때 값이 n과 같을 것이다.따라서 sqrt() 함수를 사용해서
https://school.programmers.co.kr/learn/courses/30/lessons/120850?language=python3업로드중..isdigit()을 사용해 숫자만 리스트에 저장 후 정수로 변환 및 정렬해준다.
https://school.programmers.co.kr/learn/courses/30/lessons/120862?language=python3리스트 정렬 후 음수끼리의 음수끼리의 곱으로 양수가 되는 경우와 정렬로 리스트 마지막 두 수의 곱을 비교한다
https://www.acmicpc.net/problem/2869단순하게 while문을 사용해 올라가고 내려감을 더하고 빼면서 날짜를 카운팅 하는 형식으로 구현했었고, 시간초과가 났다. 그래서 올라가는 범위 만큼 전체에서 나눠주는 형식으로 구현했다.📚 Mat
https://www.acmicpc.net/problem/2501약수가 되는 값을 배열에 저장 후 k보다 배열 크기가 작은 경우가 아니라면 index가 k - 1인 값을 출력한다.
https://www.acmicpc.net/problem/9506약수들을 배열에 저장 후 약수의 합이 k와 같은 경우와 아닌 경우를 조건으로 나누어 결과를 출력한다.
https://www.acmicpc.net/problem/1978소수인지 아닌지를 boolean으로 판별하고 1과 자기 자신만을 포함해야하므로 그 외에 나눠지는 값이 존재한다면 소수가 아니므로 넘어간다.📚 소수 판별 알고리즘
https://www.acmicpc.net/problem/2581소수인지를 소수 판별 알고리즘을 사용해 확인 후 소수인 경우만 배열에 저장한다. 이후 sum과 min 함수를 사용해 합과 최솟값을 구한다.📚 소수 판별 알고리즘 📚 sum() : 리스트나 튜플
https://www.acmicpc.net/problem/11653처음 나눠주는 수를 2로 지정하고 2로 나눠지는 경우와 나눠지지 않는 경우로 조건을 두고 나눠지는 경우는 출력, 나눠지지 않는 경우는 나눠주는 수의 값을 증가 시켰다.
https://www.acmicpc.net/problem/3009(5,5) (5,7) (7,7) (7,5) 처럼 x와 y는 각각 2번씩 찍을 수 밖에 없다. 따라서 x와 y 값을 각각 배열에 저장 한 후 count 함수를 사용해서 2개가 나오지 않는 경우 출력
https://www.acmicpc.net/problem/14215삼각형 조건인 가장 긴 변이 다른 두 변의 합 보다 작아야한다. 그 조건에 만족하지 않으면 제일 긴 변의 길이를 다른 두 변의 길이보다 1 작게 초기화 시켜주고 sum() 함수를 사용해서 전체
https://www.acmicpc.net/problem/24262https://www.acmicpc.net/problem/24263https://www.acmicpc.net/problem/24264https://www.acmicpc
https://www.acmicpc.net/problem/24313기울기 조건: a1 ≤ c시작점 조건: f(n0) ≤ g(n0), 즉 a1 n0 + a0 ≤ c n0
https://www.acmicpc.net/problem/11811\. 중복된 단어가 없이 출력되었기 때문에 set을 사용했다는 것을 알 수 있었다.2\. 길이가 짧은 순으로 같으면 사전 순으로 정렬해야 했기에 sort()를 사용했다.📚 파이썬 .sort(
https://www.acmicpc.net/problem/10814처음에 나이와 이름의 자료형이 다른 형태였기에 자바를 사용하는 사람으로 해시맵을 사용해보려고 시도를 했었지만 파이썬을 아직 공부하는 단계라 제대로 구현할 줄 몰라 2차원 배열로 구현 후 나이를
https://www.acmicpc.net/problem/10989처음에 단순한 정렬문제라 생각했고 메모리 초과가 나왔다.그래서 다른 정렬방법을 찾아보던 중 카운팅 정렬이란 것에 대해 알게 되었다.📚 카운팅 정렬이란? 요소의 갯수를 세어 선형 시간에 정렬하는
https://www.acmicpc.net/problem/10815문제는 간단하게 2개의 리스트를 만들고 반복문을 돌리며 포함한다면 0을 아니라면 1을 출력하도록 하는 로직을 처음에 짰고 시간초과가 나왔다. 이 시간초과를 해결하기 위해 포함한다에 포인트를 두었
https://www.acmicpc.net/problem/14425기존 숫자 카드 풀이 방식과 상당히 유사하다.이분 탐색 방식set을 사용한 방식
https://www.acmicpc.net/problem/7785leave와 enter 여부에 따라 동명이인은 없으므로 set에 저장한 후 사전 역순인 내림차순으로 출력한다.📚 for i in sorted(company, reverse=True):처럼 반복문
https://www.acmicpc.net/problem/1620단순히 리스트에 값을 저장한 후 질문이 숫자라면 -> 포켓몬 이름 숫자가 아니라면 -> 포켓몬 도감 번호(인덱스)를 출력하는 형식으로 생각했고 index 함수를 사용했었고 시간 초과가 나왔다. 그
https://www.acmicpc.net/problem/18870처음에 값이 인덱스로 나와서 index 함수를 사용하려고 했으나 예상과 달리 전혀 다른 값이 나왔다.다른 풀이 방법을 고민하다 enumerate를 사용한 방법이 인덱스와 같이 반복을 돌릴 경우
https://www.acmicpc.net/problem/10816기존에는 2개의 리스트로 만든 후 반복문을 돌리며 조건문으로 만약 값이 있다면 갯수를 출력하도록 했고, 시간초과가 났다.그래서 찾아보니 counter라는 것이 존재했는데 hash와 같이 항목의
https://www.acmicpc.net/problem/29030일때 4, 1일때 9, 2일때 25 그리고 5일때 1089라는 수가 제곱수란 점에서 힌트를 얻었다.2, 3, 5, x, y, 33 으로 넘어갔기 때문에 처음에 arri - 1 + arri - 2
https://www.acmicpc.net/problem/2292벌집이 6의 배수로 점점 늘어나는 것을 인덱스를 주고 반복문으로 처리했다
https://www.acmicpc.net/problem/2869마지막날은 올라가서 통과할테니 올라가는 만큼을 빼준 후 그 이외에 나머지는 갭만큼 나눠준다만약 나눈 값이 나눠 떨어진다면 그대로 출력, 나누어떨어지지 않는다면 + 1 을 해준다.
https://www.acmicpc.net/problem/5086업로드중..반복문 안에서 조건문을 사용하면 되는 기본적인 문제다
https://www.acmicpc.net/problem/2501약수가 되는 경우 배열에 저장 후 배열 값을 출력해 주었으며, 배열의 index를 초과하는 경우 즉 약수가 존재하지 않거나 약수 개수가 k개보다 적은 경우는 0을 출력하도록 예외처리를 해주었다.
https://www.acmicpc.net/problem/9506📚 ' + '.join(map(str, arr)) 배열 사이에 문자열 끼워넣을때 사용한다!반복문 사이에 배열과 조건문 사용해서 약수인 경우 배열에 추가한 후 sum(arr)와 n값이 같은 경우
https://www.acmicpc.net/problem/10809문자열을 아스키코드로 변환하여 각각 해당하는 알파벳에 위치인 인덱스 값을 더해준다.초기값이 -1이므로 -1이 아니라면 이미 등장한 알파벳이므로 그냥 넘어가도록 조건을 주었다.
https://www.acmicpc.net/problem/1316스택을 활용해 그룹 단어를 체크했으며 단어를 스택에 추가하는 방식으로 진행하고 그룹 단어가 아닌경우 반복을 중지했다
https://www.acmicpc.net/problem/2941조건문과 replace 를 사용했다.
https://www.acmicpc.net/problem/25206📚 f'{~:.6f}' 로 f를 넣어 0을 붙일 수 있다!20번 반복 동안 조건문을 통해 처리했다.
문제https://www.acmicpc.net/problem/7785풀이딕셔너리를 통해 k,v 형태로 저장을 한다. 이름이 같은 경우 이미 enter -> leave로 값이 바뀌어서 저장되어 있기 때문에 leave로 되어있는 경우만 제외하면 아직 회사에 남아있
문제https://www.acmicpc.net/problem/1620풀이포켓몬 도감 번호에 해당하는 경우는 딕셔너리를 통해 저장을 하고 포컷몬리스트 같은 경우 따로 배열로 저장한 후 숫자라면 리스트의 인덱스를 이용해 조회하고 아니라면 키값을 조회하도록 구현했다
문제https://www.acmicpc.net/problem/1269풀이https://velog.io/@insutance/Python-set-%EC%9D%B4%EB%9E%80님의 블로그를 참고했다.set을 활용하면 집합을 구현하기가 쉬워서 a - b,
https://www.acmicpc.net/problem/12789번호표와 같은 경우 라인(waitline/큐형식)에서 바로 간식을 받을 수 있도록 하고 아닌 경우 대기열(temp/스택형식)로 이동한다. 이후 대기열로 넘어가 만약 번호표에 해당하는 사람이 대기
https://www.acmicpc.net/problem/10816단순 존재 위치만을 파악하는 경우라면 set을 사용해도 되었지만 set을 사용하면 정렬이 되기 때문에 같은 인덱스의 갯수를 파악할 수가 없었고 그로 인해 list를 사용하게 되면 시간초과가 나는
나무 사이의 공간이 최대공약수임으로 두 배열사이의 차이와 최대공약수를 구한다.2 ~ 18까지라고 가정하면 2,4,6,8,10,12,14,16,18임으로 2와 18사이에 나무를 심는 것이기 때문에 사이값을 확인하기 위해 각 배열의 끝 값을 뺸 후 차이만큼 나눈다.그 후
https://www.acmicpc.net/problem/1010
https://www.acmicpc.net/problem/15649모든 경우의 수를 전부 고려하는 알고리즘. 상태공간을 트리로 나타낼 수 있을 때 적합한 방식이다. 일종의 트리 탐색 알고리즘이라고 봐도 된다. 방식에 따라서 깊이우선탐색(Depth First S
https://www.acmicpc.net/problem/11047역순으로 된 배열을 반복문으로 돌리며 반복문 안에서 목표금액보다 크면 넘어가고 작다면 나눈 몫을 더하며 나머지를 계속 나눠나가며 더이상 나눠지지 않을때에 멈춘다.
https://www.acmicpc.net/problem/18870인덱스를 출력하는 문제로 딕셔너리를 통해 값과 인덱스를 맵핑해서 출력했다.최종코드처음 시도(시간 초과)두번째 시도(시간 초과)세번째 시도(시간 초과)
https://www.acmicpc.net/problem/15650저번 n과m(1)의 코드에서 정렬을 하기 위해 초기 값을 지정해주었다.
https://www.acmicpc.net/problem/1654이분탐색을 활용해 각각 중간값으로 나눠주는 것을 반복해 나가며 나눈 갯수가 n보다 많으면 분모가 더 크다는 것이기에 분자의 값을 줄여주고(초기값의 크기를 키움) 아닌경우는 마지막 값의 크기를 줄인
https://www.acmicpc.net/problem/2805기존 랜선 자르기 문제에서 반복문 안에 조건만 변경했다 기준값보다 넘는 경우는 잘라서 가져가기 때문에 조건문을 통해 중간값보다 크다면 중간값을 뺀 나머지 값을 더하도록 하였다.
https://www.acmicpc.net/problem/2110초기 값이 든 배열을 정렬하여 간격을 파악할 수 있게 한 후 이분 탐색을 진행하며 간격의 최대값을 구한다.반복문 안에서 이전 배열이 들어가야하니 초기 값을 미리 설정해 준 후 비교한 후 초기화하는
https://www.acmicpc.net/problem/11723집합과 반복횟수를 선언받음반복횟수 안에서 문자열 형태로 연산과 x를 입력받음연산에 따라 문제에 제시되었던 조건을 수행한다.📚 discard() 함수는 remove 함수와 달리 set이 공집합이
https://www.acmicpc.net/problem/11399수와 시간을 각각 입력 받는다.각각 대기 시간을 저장 할 배열과 대기시간의 변수를 선언한다정렬 되었을 때가 가장 대기시간이 적기 때문에 정렬을 해준다.ex) 1 2 3 4 5 인 경우\-> 1
https://www.acmicpc.net/problem/17219사이트 수, 찾을 사이트 수를 입력한다.딕셔너리를 선언한다.기존의 사이트와 패스워드를 입력한다.찾으려는 사이트를 입력한다.딕셔너리를 조회하고 값을 출력한다.틀린 코드 (82%)📚 딕셔너리를 (
https://www.acmicpc.net/problem/11659배열 크기와 반복횟수를 입력받는다리스트를 입력받는다누적합 방식을 기존 리스트 값과 이전 누적된 값을 더해 추가한다.j의 해당하는 누적합 값에서 i에 해당하는 누적합 값을 뺸 후 출력한다.누적합
https://www.acmicpc.net/problem/9375테스트 횟수 입력옷 이름과 종류이므로 키 밸류 형태의 딕셔너리 선언반복 횟수 입력이름과 종류 입력이미 있는 종류라면 → 리스트에 이름 추가하고 없는 종류라면 새로운 리스트 생성 후 등록딕셔너리를
https://www.acmicpc.net/problem/1874현재 위치인 temp 를 포함해 스택과 반복횟수 그리고 출력값을 저장할 배열등을 입력반복문 안에서 추출할 수를 입력제일 처음에 스택에는 값이 없으므로 1부터 값까지 입력 \- 다음에 만약 스택이
https://www.acmicpc.net/problem/24511스택이라면 push와 pop한 값이 동일하기 때문에 무시하고 큐라면 enqueue와 dequeue의 값이 다르기 때문에 출력될 것이기 때문에 1, 4 를 초기값에서 저장한다.이후 큐 자료구조인
https://www.acmicpc.net/problem/1463dp를 사용해 문제를 풀었으며 최소로 만들기 위한 조건이 - 1을 하였을 경우가 다음 값이 가장 최소이기 때문에 dpi = dpi - 1 + 1 이라는 것을 발견하였고, 이를 통해 2로 나눠진다면
https://www.acmicpc.net/problem/1966업로드중..리스트의 최고값인 우선순위를 뽑아낼때마다 m값이 감소하는 형식으로 구현해야하는데 그러다보면 결국 m < 0이 되는 경우에 m 값을 다시 재설정하지 않아서 시간이 오래걸렸다. 아무리
https://www.acmicpc.net/problem/12891슬라이딩 윈도우를 사용하여 문제를 풀면 된다.https://ji-musclecode.tistory.com/37 블로그를 참고하였다.초기에 문자열 자체를 길이만큼 순회하면서 count를
https://www.acmicpc.net/problem/17298리스트 만큼 반복시킨 스택에 top값(이전 수부터~)에 해당하는 수와 현재 수를 비교 포함한다면 다음으로 넘어가야하기 때문에 스택(인덱스)에서 제거(이미 사용했으므로), 값 대입아닌 경우 스택이
https://www.acmicpc.net/problem/1927파이썬의 힙 모듈을 사용하였다.heappush(heap, item) 형태이며 디폴트는 최소 힙이다.📚 힙이란? 여러 개의 값 중에서 가장 크거나 작은 값을 빠르게 찾기 위해 만든 이진 트리데이터
https://www.acmicpc.net/problem/11279최소힙에서 item 값만 음수로 전환시키면된다.
https://www.acmicpc.net/problem/11286(절댓값, 원래 값) 튜플 생성해서 heapq에 삽입할 각 숫자에 대해 (abs(숫자), 숫자) 형태의 튜플을 만들어 힙에 삽입한다