일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- r-value참조자
- string유형
- c언어 괄호검사
- C언어 스택 연산
- const l-value참조자
- C언어 계산기 프로그램
- 프로그래머스 배열만들기4
- const화
- 값/참조/주소에 의한 전달
- 괄호 검사 프로그램
- l-value참조자
- 주기억장치
- 프로그래머스 푸드 파이트 대회
- 원형 연결 구조 연결된 큐
- 범위 기반 for문
- 논리 연산
- 회전 및 자리 이동 연산
- 알고리즘 조건
- 네트워크 결합
- IPv4 주소체계
- 백준 파이썬
- 문제해결 단계
- auto 키워드
- 유형 변환
- LAN의 분류
- 입출력 관리자
- C언어 덱
- getline()함수
- 문자형 배열
- 운영체제 기능
- Today
- Total
목록Study (174)
chyam

홀수 vs 짝수 나는 홀수와 짝수를 따로 두어 if문을 통해 더해주었다. 더한 후 큰값을 리턴하도록 하였다. 이 분은 슬라이싱 step과 max를 사용하였다. 리스트의 짝수번째의 합과 홀수번째의 합중 큰값을 리턴하였다.

isdigit() 숫자 판별 함수 isdigit()함수는 문자열이 숫자로만 이루어져있는지 판별해준다. 숫자로만 이루어져 있다면 True를 반환하고, 반대의 경우 False를 반환한다. 조심해야하는것은, 음수를 뜻하는 "-"나 소수를 표현하는 "."도 문자로 인식되는것이다. 이를 사용한 예제로 프로그래머스에서 문자열 정렬하기가 있다. 문자열 정렬하기(1) 내가 풀었던 방식은 for문을 통해 문자열을 돌면서, 아스키 코드를 활용하였다.아스키코드에서 숫자는 48~57사이에 위치해있으므로, ord(a)가 58 미만일때 리스트에 정수형태로 추가해준 후 정렬하였다. 다른사람들의 풀이를 보았는데 isdigit)함수를 사용하였다. for문을 돌려서 문자.isdigit()이 True 라면 정수형태로 추가해준 ..

x사이의 개수 카운트 해줄 cnt를 0으로 설정해준다. for문을 통해 리스트를 돌려주며 만약 "x"가 아니라면 cnt를 1씩 더해준다. "x"라면 cnt를 새 리스트에 추가한 후 cnt를 0으로 만들어준다. x가 만약 마지막에 나왔다면 리스트의 마지막은 0이 되어야 하고, x가 나온후 계속 다른 문자가 나온다면 그 수를 센 후 마지막에 cnt를 추가해주어야 하므로, for문이 끝난 후에 cnt를 마지막으로 추가해준다.

최소직사각형 문제를 보고 어떻게 풀어야할지 고민하다가, 가로와 세로 중 긴것들과 짧은것들로 나누어보았다. 그러니까 답이 제일긴것과 짧은 것 중 제일긴것의 곱이라는 결과가 나왔다. 그래서 for문에 리스트를 돌려서 가로와 세로의 숫자를 비교하여 숫자가 큰것이 0번 인덱스에 오도록 하였다. 그래서 maxx를 sizes 리스트에서 가장 큰리스트의 0번 인덱스로 지정해주어 가장 큰 값을 구해주었다. 두번째 값을 구하기 위해서는 먼저 리스트중 0번인덱스와 1번인덱스의 크기를 비교하여 작은것을 0번인덱스로 바꿔준다. 그런 후에 가장 큰 값을 구해서 maxy를 구해준다.

분수의 덧셈 numA를 통해 분자부분을 나타내주고, denomA를 통해 분모부분을 나타내주었다, numA와 denomA중 작은것을 min으로 두고 둘의 최대공약수를 구하기위해 for문을 돌려준다. 같은 a를 나누었을때 나머지가0인 a 중 큰 값을 max라고 한다. 마지막에 각각의 분자 분모에서 max를 나눈값을 빈 리스트에 추가해준다.

같은 숫자는 싫어 for문을 이용해 리스트를 인덱스에 접근하여 돌려준다. 바로 앞 숫자와 같다면 그대로 진행하고, 다르다면 앞 숫자를 리스트에 추가해준다. 그리고 마지막 숫자는 for문에 포함되어 있지 않으므로 마지막에 추가해준다.

lambda 함수 lambda 함수는 익명함수로, 재사용 할 수는 있지만 권장은 하지 않는다. 또한,매개 변수로 함수를 전달한다. lambda 매개변수 : 함수 형태로 사용한다. 이런식으로 간단하게 사용할 수 있다. 또한, 다른함수와 잘 쓰인다. map 함수 이 함수는 특정한 함수를 적용시키고 싶을 때 사용한다. list(map(함수,리스트)) 형태로 사용한다. 이를 사용하면 "새로운 리스트"를 만들어준다. lambda와 같이 사용할때는 함수자리에 lambda함수를 써준다. filter 함수 이 함수는 참인 값들로 새로운 리스트를 만들어낸다. 참은 1, 거짓은 0으로 나타낸다. filter함수는 다른값은 거르고 1인값들을 출력해준다. 두번째는 홀수인 수들의 x%2값이 1이 나오므로 홀수인 값들을 출력해준..

문자 뒤의 n글자 파이썬의 기능 중에 하나인 문자열을 슬라이싱하는 법이 생각이 나지 않았다.. 그래서 리스트 변환 후 빈 문자열에 추가를 해주었다. 다른사람들 풀이를 보니 문자열도 가능한것이 기억났다.. 슬라이싱을 이용한다면, 뒤에서부터 n자리수의 문자가 나와야하므로, -n을 사용하여 슬라이싱해준다. 슬라이싱 이를 보면 알 수 있듯이, 그냥 " : " 만 쓰면 전체가 나오며, "숫자: " 라면 숫자부터 마지막까지 슬라이싱된다. "숫자1:숫자2" 라면 숫자1부터 숫자2의 앞 인덱스까지 슬라이싱해준다. 즉 1:4 이면 1,2,3번 인덱스가 나온다. 만약 -숫자 라면 반대라고 생각하면된다.