분류 전체보기

[중급1] comprehension 연습

2019. 5. 15. 16:52
1. comprehension - ifelse and if

for문 대체

In [2]:
temp = [2, 3, 4, 5]
temp
Out[2]:
[2, 3, 4, 5]
In [4]:
temp_new = list()
for i in temp:
    temp_new.append(i**2)
    
temp_new
Out[4]:
[4, 9, 16, 25]
In [6]:
temp_new_comp = [ i**2 for i in temp]
temp_new_comp
Out[6]:
[4, 9, 16, 25]

np.array()로 감싸면 어레이도 생성

In [9]:
import numpy as np

np.array( [ i**2 for i in temp] )
Out[9]:
array([ 4,  9, 16, 25])

for문 + if문 대체

  • if else 는 for 문 앞에
    [ 연산 if 조건 else 연산2 for문 ]
  • if만 있으 때는 for 문 뒤에
    [ 연산 for문 if 조건 ]
In [10]:
temp_new = list()

for i in temp:
    if i > 3:
        temp_new.append(i**2)
    else:
        temp_new.append(i)
        
temp_new
Out[10]:
[2, 3, 16, 25]
In [12]:
[ i**2 if i>3 \
else i \
for i in temp]
Out[12]:
[2, 3, 16, 25]
In [13]:
[ i**2 if i>3     else i      for i in temp]
Out[13]:
[2, 3, 16, 25]
In [15]:
[i**2 for i in temp if i>3]
Out[15]:
[16, 25]
In [ ]:
 

이 글은 코드잇의 알고리즘 강의와 오픈소스들을 참고하여 정리한 글입니다^^

알고리즘 평가의 2가지 기준

  1. 시간 : 빨리빨리 => 더 중요
  2. (메모리)공간 => 돈 주고 사면 됨

시간 복잡도(Time Complexity)

컴퓨터 과학에서 알고리즘의 시간평가 방법

  • 걸리는 시간으로는 판단x

  • 데이터(리스트의 원소 개수)가 많아질수록 걸리는시간이 얼마나 급격히 증가하는지
    예를 들어, 리스트의 원소 개수가 10개, 20개, 100개 -> 걸리는 시간 10, 20, 100초라면 -> 걸리는 시간 일정하게 증가

    그러나 알고리즘 B는 걸리는 시간 증가량이 급격하다

    A보다 B의 시간복잡도가 크다.! = A 알고리즘이 시간 복잡도가 더 작은 빠른 알고리즘

시간복잡도 계산을 위한 거듭제곱과 로그

거듭제곱 (Exponentiation)

  • 패턴을 따라가다보면 2의 -1승은 2의 0승(1) / 2 이므로 1/2 임을 알 수 있다.

로그 (Logarithms)

  • a는 밑수 b는 진수 라 부른다.

  • 편하게 생각하기 위해서는 a를 몇번(x) 곱해야 b가 나오는지로 생각한다.

  • 혹은 b를 a로 몇번 나누어야지 1이 되는가? 이다.

  • 컴퓨터 알고리즘 문제에서는 a가 2인 경우가 많다.

  • log2(16)은 16을 2로 몇번 나누어야(몇번 반토막내야) 1이 나오는지 생각해보면, 4번이다.

  • 예를 들어, 길이가 16인 리스트가 있다면, 총 4번 반토막 내어야한다.
    그림으로 예를 들면,

    이 상태에서 총 4번을 반토막 내야 1이 된다.



    log2( ) 를 lg로 쓰기도 한다.

시간복잡도 계산을 위한 1부터 n까지의 합

1부터 n까지의 합을 나열하여 T라 나타내고, 밑줄에 반대로 나열해놓고 더하자

2T = n * (n+1)
T= n(n+1) /2

점근 표기법 (Big-O Notation)

알고리즘은 일반적으로 걸리는시간(X) 인풋에 따라 걸리는 시간의 증가량에 의해 평가된다고 하였다.

하나의 알고리즘은 인풋에 따라 걸리는 시간이 달라진다.
즉, 알고리즘 소요시간 = 인풋크기(n)의 수식으로 나타낼 수 있다.

예를 들어, 아래 리스트를 인풋한다고 가정했을 때 리스트의 길이(n)라면,
알고리즘 소요시간 = 20n+40 or 2n^2 + 8n +157 일수도 있다.

그러나 n에 붙은 숫자들은 컴퓨터의 환경적인 것들에 의해 달라진다.

즉, 수식하나가지고는 하나의 알고리즘을 완벽하게 나타내지는 못한다.

그래서 컴퓨터 과학자들이 다같이 약속한 것이 점근표기법으로 알고리즘을 평가하자는 것이다.

점근표기법의 룰

  1. 만약, 소요시간이 20n+40이라면?

    • n의 영향력이 작은 40 삭제(영향력 젤 큰 항만 남김) -> n앞에 계수 삭제 -> n만남아서 O(n)으로 표기
    • 해당 알고리즘을 Big-O of n 알고리즘이라 부른다.
  2. 소요시간이 2차식이라면?

    • 가장 영향력이 큰 2n^2 만 남김 -> 앞에 계수 삭제 -> O(n^2)
    • Big O of n^2 알고리즘
  3. 20lg(n) + 60 ?

    • 60 없앰 -> 20없앰 -> O(lg(n))
    • Big O of lg(n) 알고리즘

점근표기법을 위와 같이 표기하는 이유?

점근 표기법의 핵심 : n이 엄청 크다고 가정 -> my)낮은차수와 계수는 무시된다.
절대적인 시간보다는 성장성을 보기위함이다.

  • n(input, 리스트의 길이, 원소의 개수)가 얼마 안되면, 굳이 좋은 알고리즘을 쓸 필요가 없다.
  • 골치 아픈 경우는, n이 엄청 컸을 때의 알고리즘이다.

만약, 한 알고리즘의 소요시간이 n(리스트의 길이)에 대한 수식으로 2n^2 + 8n + 157로 나타났다고 가정하자.
그리고 2n^2 과 점근표기법에서 삭제되는 8n+157을 n에 대한 소요시간 그래프로 나타내보자.

  • 처음에는 8n+157의 소요시간이 더 크더라도, 나중에는 2n^2의 소요시간이 압도적으로 커진다.

  • n이 100만 정도로 엄청 커졌을 때, 차이는 두드러진다. 즉, n이 엄청 크다고 가정하면 영향력이 작은 부분은 그냥 무시해버리는 것이 핵심이다.

  • 2n^2이 아니라 0.01n^2이라면??? -> 결과적으로 계수도 무시해도 된다

점근표기법의 의미

O(1) : Big-O of 1 알고리즘은 인풋사이즈(n)에 영향받지 않고 일정하게 1초가 걸린다.

O(n) : 인풋(n) 증가량(n배)과 소요시간이 비례(n배)해서 증가한다.

  • 리스트 크기가 100 -> 1초, 200 -> 2초...

O(n^2) : 인풋(n) 2배 -> 소요시간(n^2) 4배 증가
O(n^3) : 인풋이 n배 -> 소요시간 n^3배 증가

n이 1000까지라면,,,

n이 10000까지라면,,, 더 차이가 난다.

  • O(n^3)은 너무 오래걸리니 안좋은 알고리즘이다.

같은 컴퓨터가 아니라... 오래걸리는 알고리즘에 최고사양 컴퓨터를 배정한다면? 소요시간이 더 줄 수 있다.

그러나, 이것은 리스트의 길이가 적을 때의 이야기이다.
BigO의 핵심은 n이 무수히 크다고 가정하는 것이고,
그 상태에서는 리스트의 길이(n)이 증가함에 따라 소요시간(n) 폭팔적으로 증가하여, 결국은 n의 차수가 높은 O(n^3)이 가장 오래 걸릴 것이다.

즉, 컴퓨터 사양이 아무리 좋아도, 빠른 언어를 사용하여도,
결국 알고리즘이 별로면, 싸구려 컴퓨터보다 느려진다.

VS code 단축키 정리

2019. 5. 13. 21:38
  1. Ctrl + , : 환경설정
  2. Ctrl + K, O : 폴더 열기(해당 프로젝트 열기)
  3. Ctrl + Shift + ~ : 터미널 열기
  4. F2 : 변수이름바꾸기
  5. Ctrl + Shift + G : git탭 열기

이글은 코드잇의 알고리즘 강의와 오픈소스들을 참고하여 정리한 글입니다^^

정렬(Sorting) : 리스트의 원서들을 특정 순서로 정리하는 것

  • 오름차순, 내림차순, 알파벳순
  • python에는 이미 sorted( list ) 내장함수나 리스트의 list..sort() method도 있다.

그냥 sorted()나 .sort()를 쓰면 될 것 같으나 정렬을 왜 배워야 할까?
그 이유는 정렬 자체가 알고리즘의 기초 & 모든 개발자가 알아야할 가장 기본적인 알고리즘이기 때문이다.

  1. 선택 정렬(Selection Sort) : 인덱스에 들어갈 값들을 찾아서 정렬하는 알고리즘으로서,
    가장 작은 값 -> 0번 인덱스
    2번째 작은 값 -> 1번 인덱스
    3번째 작은 값 -> 2번 인덱스 ... 방식으로 정렬한다.
    예를들어,

    • 0번 인덱스에 넣어줄 가장 작은 값을 찾기위해, 0~5번 인덱스의 값들을 확인한 뒤 넣어준다.

    • 0번 인덱스의 값을 볼때는, 4가 가장 최소값이다.

    • 1번 인덱스의 값을 볼때는, 2가 가장 최소값이다.

    • 3번 인덱스의 값을 볼때는, 1가 가장 최소값이다.

    • 5번 인덱스까지 1회전 다봤으면,
      0번 인덱스의 값 <-> 3번 인덱스의 값(최소값)을 교체한다.

    • 이제 1번 인덱스에 들어갈 값을 찾기위해서, 1 ~ 5번 인덱스까지 값을 보고 가장 작은 값과 교체해준다.

    • 마찬가지로 2번 인덱스 -> 2~5번 인덱스의 값 탐색 후 가장 최소값 넣어주기 -> 반복한다.

  1. 삽입 정렬(Insertion Sort) : 이 어떤 인덱스에 들어가야할지 찾는 알고리즘으로서,
    예를 들어, 카드 게임을 한다고 할 때, 이미 정렬된 카드를 가지고 있는 상태에서 딜러가 새로운 카드를 줬을 때, 새로운 카드를 올바른 위치에 삽입(끼워넣는)한다.

my) 0과1 정렬/ 0,1,2 정렬/ 0,1,2,3 정렬 하는데, 마지막값을 기준으로 왼쪽으로 차례차례 비교해나간다.


아래와 같은 리스트가 있다고 가정하자.

- 먼저, 0번과 1번 인덱스만 보고, 정렬한다.

- 다음으로, 0,1,2번 인덱스을 보고, 정렬한다.

- 다음은, 0,1,2,3번 인덱스의 을 보고 정렬한다. 이 때, 3값<->2값, 2<->1값, 1값<->0값순으로 한번씩 비교하는 것 같다.





- 마지막 5번인덱스의 3은,
(1) 9와 비교해서 왼쪽,
(2) 7과 비교해서 왼쪽,
(3) 4와 비교해서 왼쪽, 총 3번을 한칸씩 움직인다.

참고)

  • 이미 거의 정렬된 리스트를 정렬할 때는 삽입 정렬(Insertion Sort)이 가장 빠른 반면,
  • 아예 정반대로 정렬된 리스트의 경우에는 삽입 정렬이 매우 오래 걸린다는 것도 볼 수 있죠.
  • 선택 정렬(Selection Sort)과 합병 정렬(Merge Sort)상황에 영향을 받지 않고 일정한 시간이 소요된다는 점도 주목해 볼 만합니다.
  • 무작위 순서의 리스트를 정렬할 때는 힙 정렬(Heapsort)이 가장 먼저 끝나네요.

구현시 참고 블로그 : http://ejklike.github.io/2017/03/04/sorting-algorithms-with-python.html

날짜 데이터는 숫자로 되어있어서 더하거나 뺄 수있다.
default로는 숫자처럼, 셀 오른쪽에 붙는다.
그러나 다른문서에서 가져온 날자데이터가 문자열처럼 왼쪽정렬되어, 뺄셈이 안된다면?

  1. 날자데이터의 앞에 '를 입력하여 문자열-날자데이터를 임의로 만들었다.
    • 엑셀에서는 2017대신 17만 입력하여도 2017 자동인식


  1. 왼쪽 정렬된 문자열-날짜데이터는 더블클릭후 엔터만 치더라도 날짜로 바뀌어 오른쪽정렬이 된다.(엑셀이 자동인식)

    • 그러나 일일히 그렇게 할 순 없다.
    • 여기서는 강제로 '입력해준 상태기 때문에, 안바뀐다.
  2. =DATEVALUE()를 이용하여, 문자열-날자데이터를 한번에 변환시켜보자.

    • 정상변환 되었다면, 우측정렬된 날짜데이터가 생김
      (1) 변환시킬 필드를 세로 만든다.

      (2) 첫 셀만 선택하여, =DATEVALUE(입력후, 왼쪽데이터를 클릭 후 입력해준다.(만약 쌩둥맞은 숫자로 바뀌면, 셀서식>날짜)


      (3) 핸들바를 더블클릭하여, 나머지행들에 전체적용해주기

  3. 날짜뺄셈을 할때, 변환한 =DATEVALUE(A2)같은 서식으로는 엉뚱한 값이 나올 수 있다.

    이럴때는 복사-붙혀넣기 > 값 및 원본서식을 선택한다.

    • 수식만 제거하려면, 만 선택하면 됬지만, 날짜형식까지 유지하려면 값 및 원본서식을 선택해야한다.


      이후의 날짜 뺄셈은 잘된다.

  1. windows10 노트북에서 연결을 켠다

  2. 태블릿이나 스마트폰(갤럭시)에서 SMART VIEW를 켠다

    • 현재는 노트북이랑 연결되어 DESKTOP-7KACME 라 표시되어있음. 비활성화된 SMART VIEW로 평상시 나와있는데 그것을 누르면, 노트북 중 연결대기 중인 기계목록이 뜬다.
  3. 기기를 연결하면, 아래와 같이 쉽게 연동된다.

단축키

  1. Ctrl + 1,2,3(숫자): 여러개 열린 탭에서 해당 탭으로 바로 이동!
  2. Ctrl + T : 새 탭 열기
  3. Ctrl + W : 탭 종료하기
  4. Ctrl + Shift + T : 종료한 탭 복구하기

검색 꿀팁

for문 중 하나만 테스트 하려면?

  • print()로 확인한 뒤, 다음줄에 break

    for line in lines:
    mal_list = twitter.pos(line, norm=True, stem=True)
    #test
    print(mal_list)
    break

리스트를 하나씩 도는 for문에서 index를 반환해야한다면?

  1. for i in range(len( list )): + <조건>

    • 리스트 길이만큼 돌면서 해당 길이를 이용
    • len()은 1부터 개수
    • range()는 0부터 개수-1까지 반복
  2. for idx, val in enumerate( list ): + <조건>

    • 내장함수 이용

리스트의 index를 거꾸로 반환하는 for문

  1. for i in reversed( range(len()) ) : + <조건>
    • reversed()는 range(len()) 0부터 개수-1까지의 idx를 역순으로 반환해줌

파이썬에서 정수몫과 나눈 나머지

  1. 정수 몫 :// ex> 7//2 = 3
  2. 나눈 나머지 : % ex> 7%2 = 1
  1. 먼저 쥬피터 환경설정 폴더인 C:\Users\is2js(유저명)\.jupyter로 가서 jupyter_notebook_config.py를 연다.

  2. _dir로 검색하여 c.NotebookApp.notebook_dir = ''가 #으로 주석처리 되어있다. 이것을 푼 다음 아래와 같이 입력하면 된다.

    • '/Users/is2js(유저명)/python_da(시작하고픈 폴더)/'
    • 복사용 : '/Users/is2js/python_da/'
    • C:/부터 시작해서 경로설정을 해줬었는데 계속해도 잘 안됬었다.ㅠ

이글은 코드잇의 알고리즘 강의와 오픈소스들을 참고하여 정리한 글입니다^^

알고리즘 공부 방법

하나의 문제를 해결하는 방법에는 여러가지가 있다. 그 방법들을 찾아서 가장 좋은 방법을 찾는 것이 알고리즘 공부 방법이다.

예를 들어, 책장에서 원하는 책을 찾는 방법 2가지 방법을 확인해보자.

  1. 왼쪽부터 하나씩 확인하다가 찾기

  2. 책이 알파벳순으로 정렬되어 있다는 것을 활용하여,
    (1) 전체 중 중간을 선택한 뒤, 원하는 책이 앞인지 / 뒤인지 확인하기

    (2) 남은 책들 중에 중간지점을 선택한 뒤, 확인하기

    (3) 이렇게 반씩 줄이는 것을 반복하다보면 원하는 책을 찾을 수 있다.

탐색문제

위에서 살펴보면 문제는 탐색문제이다.
탐색이란? 저장된 정보들 중에 원하는 값을 찾는 것이다. ex> 파이썬 숫자 리스트 중 특정값 찾기

탐색문제 해결방법 2가지

  1. 선형 탐색 알고리즘(Linear search algorithm) : 순서대로 하나하나씩 찾기
  2. 이진 탐색 알고리즘(Binary search algorithm) : 반씩 제외시키면서 찾기

  1. 선형 탐색 알고리즘 : 순서대로 하나하나씩 찾기

    • 왼쪽부터 하나하나씩 원하는 값을 찾아본다.

    • 원하는 값 발견시, 더이상 안보고 끝낸다.

  1. 이진 탐색 알고리즘 : 반씩 제외하면서 찾기

    • 중간지점(중간값)을 먼저 선택한 뒤, 왼쪽 or 오른쪽만 남긴다.

    • 남은값들 중에 중간값을 선택(여기서는 그냥 왼쪽것을 선택)하고, 왼쪽or오른쪽 남기기

    • 반복해서 찾아가기

2가지 탐색문제 해결방법 중 어느 것이 더 효율적일까??

탐색 알고리즘 2개 비교

16개의 원소를 가지고 있는 리스트가 있다고 가정하고, 얼마나 걸리는지 한번 생각해보자.

선형탐색의 경우, 언제 가장 빨리 마치고/ 언제 가장 늦게 마칠 까?

  • 정답이 리스트 첫 원소인 경우 -> 1번걸림

  • 정답이 마지막 원소이거나 없는 경우 -> 16번걸림

이진탐색의 경우, 가장 빨리 되는 경우는

  • 정답이 가운데( 0 + 15 // 2) 있는 경우 -> 1번
  • 정답이 없는 경우 = ex> 0을 찾는 경우 -> 4번



이진 탐색의 경우 최악의 경우시 4번만 봐도 되지만, 선형 탐색은 16번 다 봐야한다.

최악의 경우를 일반화 해보면, n개의 원소 리스트는

  • 선형탐색 -> n
  • 이진탐색 -> 2^m = nm번 걸린다.
  • 리스트의 길이가 길어지더라도, 이진 탐색은 걸리는 시간이 아주 천천히 늘어난다.

언제 선형탐색을 쓸까???

이진 탐색의 전제조건정렬된 리스트-이진탐색이다.
만약, 리스트가 정렬되지 않은 상태라면 정렬x리스트-선형탐색을 쓸 수 밖에 없다.

Python과 PosgreSQL을 연결하는 라이브러리는 psycopg2이다.
이것을 설치하기 위해서는 아래 명령어를 CMD에 치면된다.

  1. (python만 설치) pip install psycopg2
  2. (아나콘다환경) conda install -c anaconda psycopg2

만약, pip나 python 명령어가 안먹는다면 (ex> pip install -, python --version),
윈도우 환경변수 > PATH에 환경을 Python경로 중 Scripts폴더만 추가되어있을 것인데, Scripts바깥폴더(Python폴더 or Anaconda폴더)도 PATH에 추가해주어야한다.

cf) 윈도우 + 아나콘다 환경에서는 C:\Users\is2js\Anaconda3에 python 실행파일이 위치해있고, 이곳을 PATH에 추가해주어야만, pippython명령어를 사용할 수 있다.

아나콘다환경 환경변수 확인
1. 환경 변수 or 윈도우 SETTING으로 들어간다 
2. `고급 > PATH 더블클릭`으로 들어간 뒤 아래 경로를 추가한다.
3. 3개의 경로(특히 Anaconda폴더까지의 경로)를 추가해주었다면, cmd에서 pip 나 python 명령어가 정상작동한다.


혹은 아나콘다 환경이라면 아래와 같은 명령어로 설치한다.
conda install -c anaconda psycopg2

  1. 먼저 빈문서를 켠 뒤 검토 > 비교를 클릭하면, 비교할 2개의 문서를 선택할 수 있다.
    • 왼쪽에 첨부하는 것이 원본, 오른쪽에 첨부하는 것이 수정본이다.




  1. 2개의 문서가 불러와지면, 왼쪽에서 첨부한 것이 원본, 오른쪽 첨부파일이 수정본이 된다.

    • 변경내용이 몇개 안될때는, 왼쪽 수정 탭에서 클릭하면서 찾아나간다. 클릭시 해당 부분으로 이동된다.

    • 변경내용이 많을 때 (1)수정된 내용위주로 살핀다.
      (2)원본이나 (3) 수정본을 스크롤하면 (1)(2)(3)이 같이 스크롤 된다.

    • 이제 (1) 수정된 내용에서 빨간색라인을 클릭해보자. 수정된 내역을 확인할 수 있다.

아래와 같이 [합 행]에 SUM(B2:B3) 같이 +가 아닌 :로 계산된 수식이 적혀있다.

  1. 밑에 행을 선택한 상태에서 우클릭 > 행삽입이나 Ctrl + (+)를 통해서 행을 삽입하면, 삽입된 행도 합계 수식안에 적용된다.
    • 만약 SUM(B2+B3)의 형태로 :이 아니면, 안된다.



그러나 문제점이 발생한다.
[평균]열(C열)은 앞의 [수익]열(B열)을 이용해서 = B2/2 와 같이 만들어졌는데, 일반적인 행삽입으로는 해당 수식이 사라진다.

  • 즉, 삽입된 행은, 전체 수식에는 포함되지만, 행 자체의 수식은 삽입되지 않는 문제이다. 이럴 때는, 직접 수식을 만들어서 적는 수밖에 없다고 한다.

2. 수식을 가진 행 자체를 복사해서 행 삽입하기






  • 이 방법의 문제점은, 복사한 행의 값까지 복사가 되고 값을 바꾸면 되지만, 행의 값을 삭제하는 경우 함수식까지 삭제되어버린다.
  1. 가장 좋은 방법은 합산 행을 제외 표를 먼저 만들고, 행 삽입하기이다. 즉, 복사한 행 삽입을 하지 않아도, 단순 행삽입으로 행자체의 상대참조 수식까지 다 복사가 된다.

    • 합산행 제외한 셀을 선택한 뒤 삽입 > 표를 선택해준다.



    • 표를 만든상태에서는 단순 행삽입을 해도 자동으로 수식이 적용된다!

    • 여러 행을 삽입하고 싶다면, 그 밑으로 그 행수만큼 선택한 뒤 삽입해주면 된다.


    • 표 자체의 기본 디자인이 싫다면, 빈 디자인을 선택해주면 된다.

병합된 셀은 정렬이나 피벗테이블등의 기능을 활용할 수 없다.(보기만 이쁜?)

Database는 병합자체가 없기 때문에, 각 셀당 하나의 정보가 다 들어가야한다.

또한 PC방이라는 반복되는 명사를 고유명칭 + 한칸 띄고 + PC방 형태로 바꿔보자.

정원이라는 필드명에 xx명에서 도 제거해보자.

  1. 병합된 셀을 DB처럼 바꾸기

    • 병합된 셀을 전체선택한 뒤, 병합을 풀어보자.

    • 빠른실행메뉴의 2번째로 지정해준, 셀 병합 단축키를 선택하여 풀어준다.

    • 빈 셀만 선택하기 위해서, 병합을 푼 셀들을 전체 선택한상태에서, 홈>편집> 찾기 및 선택> *이동옵션* > *빈 셀*을 선택한다.
      my) [ Ctrl + G ] : 이동 -> [ 옵션 ] -> [빈 셀]



    • C5가 선택된 상태이다. 여기에 =를 입력한 뒤, 바로 위에 값이 들어갈 수 있게(상대참조) C4(윗셀 선택)을 해준다. 그리고나서 선택된 모든 빈셀에서 다 적용시키기 위해 Ctrl+Enter를 입력해준다.

    • 상대참조 값들이 잘 들어가 있다. C5는 =C4가, B5는 =B4가 (바로 윗셀의 값)이 잘 들어가 있는 것 같다. 하지만, 다른 필드를 기준으로 정렬시 참조값이 깨질 수 있기 때문에, 상대참조로 채워넣은 값은 전체 복사를 한 뒤, 붙혀넣기 > 값만(V) 선택해서 절대값으로 변환시켜주어야한다.





  1. 특정단어를 한칸 뛰고 특정단어형태로 바꾸기 or xx명에서 명 빼기

    • 제한된 범위에서 찾아바꾸기 이므로, 먼저 블록설정부터 한다.

    • PC방이라는 단어를 -> 한칸+PC방으로 바꿔보자.

    • 정원필드에서 -명 빼주기


이미 Mendeley 데스크탑버전 설치 및 MSword플러그인이 설치되어있고, 사용할 참조논문이 Add된 상태이다.

또한, 투고하고 싶은 저널의 Guide Line으로 들어가서, Mendeley스타일을 link클릭을 통해서 선택된 상태이다.


  1. 참조탭에서 Mendeley관련 구간을 보면 Insert Citation을 클릭한다.

  2. 검색부분에 [데스크탑버전에서 이미 추가한 논문]들을 검색해주면 된다.

  3. 하나만 선택해서 클릭해두 되며, 연달아 검색할 수 도 있다.

  4. 본문에 참조논문 삽입이 끝났다면, 참조논문 목록을 출력할 위치로 간 뒤, Insert BibilioGraphy를 선택해주면, 참조논문 페이지가 삽입된다.


+ Recent posts