분류 전체보기 275

[백준/알고리즘/python/java] 2839번 - 설탕 배달

어떤 수가 주어질 때, 그 수가 5로 나누어 떨어지는 수 라면 5로 하나씩 빼고 3으로 나누어 떨어지는 수라면 3을 하나씩 빼면 될 것 같았다. 약간 그리디 알고리즘처럼 말이다. 하지만, 예외가 있었다. (처음 풀었던 python 코드) n = int(input()) cnt = 0 while(n != 0): if(n % 5 == 0): n -= 5 cnt += 1 elif(n % 3 == 0): n -= 3 cnt += 1 else: cnt = -1 break print(cnt) 하지만, 위 코드처럼 풀면, 8이라는 수는 2가 나와야 정상인데, -1을 출력하고 만다. 다시 고민해봤다. (두번 째로 고친 python 코드) n = int(input()) cnt = 0 while(n != 0): if(n %..

[C언어] 5. 함수

5. 함수 - 함수는 입력을 받아 처리한 뒤에 출력하는 구조를 가진다. (“입력함수▶출력”) - 특정한 기능에 대한 소스코드가 반복되는 것을 줄이도록 해준다. - 함수의 형태는 반환자료형 함수명(매개변수){ 수행될 명령어 return 반환할 값; } 여기서, 반환자료형은 함수가 수행되어서 “처리된 결과”를 “어떠한 자료형”으로 반환할 것이지 써줘야한다. ex) int,boolean... - 함수에서 매개변수와 return 반환할 값은 경우에 따라서 없을 수 있다.(예를 들어, 어떠한 내용을 단순히 출력만 하고자 하는 함수라면 굳이 어떠한 매개변수를 받을 필요가 없기 때문에 매개변수 자리나 return값이 없어도 된다) - 이럴 때에 자료형에는 void가 들어간다. (예제1)말머리 붙이기 #include ..

[C언어] 4. 반복문

4. 반복문 - for문 내부의 조건에 부합하면 계속해서 특정한 구문을 실행 - 반복문을 탈출하고자 하는 위치에 break구문 넣어준다. for(초기화; 조건; 반복 끝 명령어){ 반복적으로 실행할 부분 } - for문은 1)특정한 초기화 구문을 거칠 수도 있고 이 초기화 구문이 없을 수도 있다. - 다음으로, 2)조건을 만족한다면 실행할 부분을 실행하고 다시 돌아오게 되는데, 3)반복 끝 명령어를 수행하면서 들어왔을 때 조건이 다시 만족한다면 실행할 구문이 또 실행되는 것이다. 이게 계속 반복되는 원리 (예제1) 1부터 100까지의 정수 출력하기 #define _CRT_SECURE_NO_WARNINGS #include int main(void) { for (int i = 0; i

[C언어] 3. 조건문

3. 조건문 - if문 내부의 조건을 검사해 프로그램의 진행 경로를 결정 - if문은 조건의 개수가 많지 않을 때 사용하는 것이 유리하다. (사용은 가능하나 비효율적-else if 조건문(elif 아니다!)이 몇백개 달려도 사용은 가능,else if나 else는 사실 사용하지 않아도 괜찮은 문법) if 조건1 { (조건1에 부합할때) } else if 조건2 { (조건1에 부합하지 않지만 조건2에 부합할때 ) } else { (위 조건들에 모두 부합하지 않을 때) } (예제1) If문 #define _CRT_SECURE_NO_WARNINGS #include int main(void) { printf("손님이 몇 명 왔나요?"); int a; scanf("%d", &a); if (a == 1 || a ==..

[백준/알고리즘/python/java] 2941번 - 크로아티아 알파벳

처음에는 시간초과가 났었던 문제이다. 알파벳을 기준으로 하지말고 기호를 기준으로 제어문을 나누었더니 시간초과문제가 해결되었다. (처음에 풀었던 코드-python) string = input() length = len(string) cnt = 0 idx = 0 while(idx != (length)): if(string[idx] == 'l'): if(string[idx+1] == 'j'): cnt += 1 idx += 2 else: cnt += 1 elif(string[idx] == 'n'): if(string[idx+1] == 'j'): cnt += 1 idx += 2 else: cnt += 1 idx += 1 elif(string[idx] == 'd'): if(string[idx+1] == 'z'): ..

반응형