분류 전체보기

ㄷㄷ 와 대체 C언어를 4학년때 다시 하는데 왜이렇게 깨닫는게 많은지 대박 이걸 몰랐네 왕신기하다 ! 하는 모먼트들이 종종 있다 ㅋㅋㅋㅋ int main(int argc, const char * argv[]) { int score[] = {77,88,99}; for (int i = 0; i < 3; i++) { printf("%2d %10u %6d \n", i, (score+i), *(score+i)); } return 0; } [RESULT] 0 4022334556 77 1 4022334560 88 2 4022334564 99 내 컴퓨터에는 저리 찍힌다 딱봐도 알겠지만 (score+i) 이게 주소값이다 이말은 다음과도 같다 !! &(score[i]) == score + i 대박사건~~~ 배열 그 자체에..
c언어에서는 저장된 크기를 알려주는 sizeof() 함수를 이용하여 배열의 크기를 구할 수 있다. int main(int argc, const char * argv[]) { double degree[] = {-5.34, 3.67, 19.76, 28.76, 35.63}; // 배열 Degree 선언하기 int size = sizeof(degree)/sizeof(degree[0]); // 배열의 크기 계산 for (int i = 0; i < size; i++) { printf("%.2f \n",degree[i]); } return 0; }
C언어를 하다보면 & 연산자 * 연산자 그리고 포인터는 봐도봐도 헷갈린다.. 참 한번에 바로 이해되기 어려운 개념인것 같다. 정리하며 이해해보자 !! 1. 포인터 변수와 주소연산자 & 포인터 변수 : 주소값을 저장하는 변수이다. 변수의 주소값은 반드시 포인터 변수에 저장하고 일반 변수에는 포인터가 아닌 일반 자료 값을 저장한다. 일반 변수랑 선언하는 방법도 다르고 포인터 변수 라는 것 자체가 또 다른 타입이라고 생각하면 된다. 포인터 변수의 선언방법 : 자료형 * 변수이름 ex) int *pointerInt; 변수의 자료형이 다르면 당연히 그 변수의 주소를 저장하는 포인터의 자료형도 달라야 한다 !! int data = 100; int *ptr; ptr = &data 2. 간접연산자 * 포인터 변수가 갖..
·Algorithm (PS)
와 대박이다 이거 풀이의 핵심 알고리즘이 뭔지 아세여????놀랍게도 bfs임 와이파이 모양으로 확장하는거 왠지모르게 bfs는 와이파이 모양이 떠오른다.. 그리고 그렇게 생각하면 쉽게 이해된다) 자자 암튼 코드는 이렇다 # 1697 from collections import deque N, K = map(int,input().split()) MAX = 10 ** 5 dist = [0] * (MAX+1) def bfs(): q = deque() q.append(N) while q: x = q.popleft() if x == K: print(dist[x]) break for nx in (x-1, x+1, x*2): if 0
·Algorithm (PS)
머엉... 재귀함수에 아직 익숙하지 않아서 어렵다 ! 이 문제를 읽으면 재귀함수가 딱 떠오른다 0-1-2-3 이렇게 4칸을 Z 모양으로 탐색한다 그런데 분명 재귀함수를 써야할 것 같은데.. 어디서 쓰면 좋을지 이해하는게 관건이다 처음에는 4칸씩 확장해 나가다가 c행 r열 칸을 찾으면??? 될까 라는 생각을 함 근데 큰 정사각형 덩어리에서 4분의 1 (즉 2*(n-1) * 2*(n-1))로 줄어든다는 것으로 접근하는게 쉽다 그러니까 큰 정사각형을 4칸으로 자르고 또 잘라진 4칸을 각각 잘라진 4분의 1 정사각형에서 4칸으로 자르고... 즉 !! N의 값이 N/2로 연산 할때마다 줄어든다!! 그리고 시작점을 (x,y)==(0,0)라고 생각한다 # 1074 py N, r, c = map(int, input()..
·Algorithm (PS)
- 계속 시간 초과가 남 - 틀린 원인 : 최빈값을 구하는 데에 너무 많은 시간 소요 - 이를 해결할 방법... 구글링해보니까 Collection 모듈이 있음 ! - 파이썬 서타일은 함수로 이쁘게 쓰는건가보다 틀린 풀이 import sys n = int(sys.stdin.readline()) numbers = [] for i in range(n): numbers.append(int(input())) # 평균 sum = 0 for i in numbers: sum += i print(round(sum/n, 1)) # 중앙값 sort_numbers = numbers.sort() print(sort_numbers[len(numbers)//2]) # 최빈 count = {} for i in range(len(nu..
·Algorithm (PS)
내가 해멧던 부분 처음에 board[i][j] 랑 board[i][j+1] 를 검사하는 방향으로 생각했는데 이렇게 되면 중접되서 . 을 확인하는게 되어버리니.. 잘못된 풀이다 그리고 파이썬이 아직 덜 익숙한지라, 배열 입력받는게 헷갈렸다. 이번에는 띄워쓰기 없이 그냥 입력받아야 하는데 list(input()) 으로 해도 괜찮고 아래 풀이처럼 이 경우는 바로 입력받은 한줄을 append해도 괜찮다 ! #1652 백준 board = [] # 2차원 배열 n = int(input()) # n*n 길이 입력받기 for i in range(n): board.append(input()) # 배열 입력받기 col_result = 0 # 세로 결과 row_result = 0 # 가로 결과 # 가로의 경 for i in..
디자이너 분들과 협업하는건 처음이었다 !! 역시 다르시다 (?) 첫 회의는 앱의 정체성을 정하는 시간이었다. 그리고 바로 그 다음날에 만나서 디자이너 분들이 구체화 하신 페르소나 두 가지 중에서 투표를 했다. '감수성이 풍부하고 외향적인' 성격을 가진 페르소나가 가볍게 감정을 기록할 수 있는 기능에 초점이 맞춰지게 되었다 ! 그리고 아직 본격적인 개발은 시작되지 않았으나, 네이티브에서는 기기값에 대한 리서치를 하기로 했다. ios 에서는 uuid(Unique Device Identifier) 두 가지 기기 값이 있는데 하나는 IdentifierForVender 값, 다른 하나는 advertisingIdentifier(광고식별자) 값이다. 우선 IdentifierForVender값에서 Vender (벤더)..
minjiwoo
'분류 전체보기' 카테고리의 글 목록 (77 Page)